2013-11-10 3 views
0

У меня есть 3 таблицы: пользователи, проекты, предметы и друзья. Я хочу получить все элементы для проекта и перечислить каждый элемент связанным друзьям. Я что-то пропустил в своей модели? В конечном итоге я хочу получить всех друзей, связанных с предметами.Извлечение похожих моделей с использованием Laravel 4

+0

Какая ошибка вы получаете? Что говорит Ларавель? – jnardiello

+0

Я получаю: Неопределенное свойство: Illuminate \ Database \ Eloquent \ Collection :: $ item. – Danaia

ответ

0

Вы пропускаете петлю. Я рекомендую, чтобы при настройке отношения «многие-многие» убедитесь, что ваш метод множественный. При чтении кода это имеет больший смысл. Затем вы отправляете @foreach $project->items as $item или $item->friends as $friend.

@foreach ($projects as $project) 
    @foreach ($project->item as $item) 
     @foreach($item->friend as $friend) 

     <li> 

      <a href="#" class='itemLink' >{{$friend->email}}</a> 

      <a href="#" class='itemLink' >{{$item->name}}</a> 

     </li> 
     @endforeach 
    @endforeach 
@endforeach 
+0

Это работает. Спасибо за вашу помощь. – Danaia

0

Ваши модели кажутся ОК на первый взгляд. Я думаю, так как вы тянете item.friend отношения, эта линия

@foreach ($project->friend as $friend) 

должно быть,

@foreach ($project->item->friend as $friend) 
+0

Когда я добавил, что получаю это: Неопределенное свойство: Illuminate \ Database \ Eloquent \ Collection :: $ friend – Danaia

+0

Извините, я пропустил это в первый раз. Но, насколько я понимаю, вы жаждете загружать его неправильно. Синтаксис, который я обычно использую для аналогичных целей, это: 'Project: with ('item.friend') -> get()' Который вернет все проекты с загрузкой 'item.friend'. Я отредактирую ответ, если решение будет работать для вас. – tharumax

Смежные вопросы