2017-12-26 2 views
0

ich help.I brauchen habe 2 Tabellen products und categories: enter image description hereLaravel Abfrage viele zu viele

enter image description here

Get-Anfrage sendet Kategorie-ID. Meine Frage ist: Wie erstellt man eine Abfrage mit dem Produktmodell ??? (Die Abfrage sieht folgendermaßen aus: Geben Sie das Produkt aus, bei dem die Kategorie-ID gleich $ request-> category ist). Tabellenverbindungen sind konfiguriert, ich brauche nur die Abfrage, (ich lese die Dokumentation, aber verstehe es nicht)

Antwort

4

können Sie verwenden:

$products = Product::whereHas('categories', function($q) use ($categoryId) { 
    $q->where('id', $categoryId); 
})->get(); 

Lesen Sie mehr über querying relationships

Natürlich müssen Sie Product Modell mit categories Beziehung konfiguriert haben.

2

Sie haben gesagt, es ist viele-zu-viele Beziehung, alle Beziehungen sind konfiguriert und Sie möchten Product verwenden Modell zum Erstellen einer Abfrage. In diesem Fall sollten Sie die whereHas() Methode verwenden:

Product::whereHas('categories', function($q) use($request) { 
    $q->where('id', $request->category); 
}))->get();