samedi 16 février 2019

filter scope dont return the right result

hey i right this code to filter and search a table base on two list of data so i wright in my controller this code

  $films = Film::filter()->get();

and in my model this:

 public function scopeFilter($query)
    {
        $directors = request('director')[0];
        $genres=request('genre')[0];
        if (isset($directors) && $directors != []) {
            foreach ($directors as $director) {
                $query->orwhere('director', $director);
            }
            if( isset($genres) && $genres!=[] ){
                    $query->where(function ($query) use ($genres){
                        foreach ($genres as $genre) {
                            $query->orwhere('genre', $genre);
                        }
                    });
            }
        }else{
            if( isset($genres) && $genres!=[] ){
                foreach ($genres as $genre) {
                    $query->orwhere('genre', $genre);
                }
            }
        }
        return $query;
    }


in the end between two variable use of or instead of and does anyone can fix this thank you



from Newest questions tagged laravel-5 - Stack Overflow http://bit.ly/2GRhCem
via IFTTT

Aucun commentaire:

Enregistrer un commentaire