2016-05-25 12 views
1

Ich habe eine hasmany Beziehung auf meinem Modell und ich versuche, nur das eine Ergebnis auszugeben, ich habe eine Produktkategorie, die nur ein Produktbild anzeigen kann.Laravel Output 1 Ergebnis von Hasmany Beziehung

Ich habe zwei Tabellen.

1 = Product 
2 = ProductPhotos 

Ich habe versucht, wie das Foto zur Ausgabe

@foreach($products as $product) 
<img src="{{ $product->photos->first() }}"> 
@endforeach 

Ich habe folgende Beziehung Setup in meinem Produktmodell

public function photos() 
    { 
     return $this->hasMany('App\ProductPhoto', 'product_id'); 
    } 

aber diese nicht funktioniert.

+0

Können Sie bitte weitere Details angeben? So wie Sie Ihre Beziehung implementiert haben, was sind die Spalten und Namen, die Sie zum Erstellen der Beziehung verwenden, usw. :) – cbcaio

+1

Wenn das Produkt nur ein Bild haben kann, wäre es dann nicht eine 'hasOne' Beziehung? Wie auch immer, wenn deine Beziehung richtig definiert ist (wahrscheinlich am besten, um sie in Frage zu stellen), glaube ich, dass du das Foto wie '$ product-> photos() -> first()' nennen musst (beachte die Klammer, da du eine anrufst Methode auf dem Modell). – camelCase

+0

Dank @camelCase, dass es für mich sortiert. –

Antwort

1

Sie fehlen nur die Klammern für die Methode. Es sollte sein:

$product->photos()->first(); 

Welche Eloquent die photos Methode im Product Modell zugreifen können.