2016-04-26 28 views
0

Ich habe zwei TabellenErhalten Datensatz aus der Beziehung - Laravel eloquent

Produktarten

- ID (PK) 
- ProdID (FK) 
- AttrName 

Produkt

- ID (PK) 
- ProdName 
- MerchantID(FK) 

Jetzt möchte ich alle Attribute bestimmter Produkte, bei denen Händler holen ID = 5. Wer mir helfen, Abfrage inzu erstelleneloquent.

habe ich mich selbst, aber es zeigt alle Attribute von allen Produkten mit Kaufmann und zeigt null, wo Händler-ID nicht 5.

Bitte helfen Sie mir zu Produktpalette ist dies heraus zu lösen.

Antwort

0

Sie können alle Products erforderlich bekommen mit eifrig ihre Attribute wie folgt geladen:

$products = Product::where('id', '>', 5)->get()->load('productAttributes'); 

Ich denke, das Code-Snippet ist selbsterklärend. Um nur ein gewünschtes Produkt auszuwählen, können Sie Product::where('id', '>', 5) durch Product::find(5) (oder Product::findMany([1, 2, 3]), um mehrere Produkte zu erhalten) ersetzen.

+0

Danke für die Antwort. Ich möchte das Array des Produktattributs basierend auf der übergebenen Händler-ID abrufen. Ich habe Händler ID und ich möchte Array von Produktattributen erhalten –

+0

Um das zu tun, können Sie einfach 'Merchant :: find (5) -> products() -> get()'. Mit anderen Worten, Sie müssen diesen Händler zuerst abrufen und dann seine Produkte erhalten. Durch den Aufruf von 'products()' für einen bestimmten Händler erhalten Sie Produkte, die nur diesem Händler zugeordnet sind. –

+0

Woher kommen die Produkte()? –

Verwandte Themen