2016-05-25 5 views
1

У меня есть отношения hasmany на моей модели, и я пытаюсь вывести только один результат, у меня есть категория продукта, которая может отображать только одно изображение продукта.Laravel Output 1 результат из hasmany отношений

У меня есть две таблицы.

1 = Product 
2 = ProductPhotos 

Я попытался выводя одну фотографию, как

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

У меня есть следующие настройки отношения в моей модели продукта

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

, но это не работает.

+0

У вас есть информация о чем? Как то, как вы реализовали свои отношения, каковы столбцы и имена, которые вы используете для построения отношений, и т. Д. :) – cbcaio

+1

Если у продукта может быть только одно изображение, то разве это не отношения 'hasOne'? В любом случае, если ваши отношения определены правильно (возможно, лучше всего включить его в вопрос), я считаю, что вам нужно вызвать фотографию, как '$ product-> photos() -> first()' (обратите внимание на скобки, поскольку вы вызываете метод на модели). – camelCase

+0

Спасибо @camelCase, что отсортировал его для меня. –

ответ

1

Вам просто не хватает скобки для метода. Оно должно быть:

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

который позволит Eloquent получить доступ к методу photos в Product модели.

Факс: Факс:
Смежные вопросы