Ich erstelle eine Suche in Laravel für eine API, aber meine Suche gibt mir die falschen Ergebnisse. Ich versuche nach Ort und Art zu suchen. Ich habe die folgenden Tabellen:Filterung Ergebnis mit eifrig laden
- Lebensmittel
- Geschäfte
- shop_food
- Benutzer
- Kommentare
Hier ist mein Suchcode:
public function searchShop($food, $location)
{
//
if($food == " " || $location == " "){
return $this->index();
}
//get all records where city and food are equal to
$shops = Shop::where('city', '=', $location)
->with('comments.user')
->with(['foods'=> function($query) use($food){
$query->where('name','=', 'fish pepper'); }])
->get();
//check if empty and return all
if($shops->isEmpty()){
return $this->index();
}
return $shops;
}
mein Ergebnis ist die unten anstatt nur den Datensatz wo Lage und Essen sie alle Geschäfte nach Standort gefiltert zeigt auch, wo Essen ein Spiel ist nicht: