2017-04-20 3 views
-1

Ich habe eine Frage bezüglich whereHas in LaravelwhereHas mit Eager Loading in Laravel

public function index($category = null) { 
     $videos = Video::with(['content', 'content.categories' => function($query) use ($category) { 
      return $query->where('name', $category); 
     }])->paginate(10); 

     return view('frontend.videos')->with('videos', $videos); 
    } 

Nehmen Sie diese Methode, habe ich ein Video Modell, das Video Modell hat eine 1-zu-1-Beziehung mit dem Content Model welches wiederum eine Viele-zu-Viele-Beziehung mit dem Kategorien Model Ich muss alle Videos bekommen, wo die, die einen Inhalt mit einer Kategorie haben, wo der Name was auch immer gesucht hat, ist das möglich? Wenn das so ist, wie?

Antwort

-1

Ich habe es herausgefunden, die endgültige Lösung sieht in etwa so aus, das eifrige Laden wird mir das Kategoriemodell in der Unterabfrage bringen, und ich kann es einfach verwenden und dagegen prüfen.

$videos = Video::whereHas('content.categories', function($categories) use ($category) { 
    $categories->where('name', $category); 
})->paginate(10); 
Verwandte Themen