У меня есть следующие отношения между моими таблицамиОтображение информации, связанной таблицы в шаблоне лопасть Laravel
В моей модели у меня есть следующий код:
Расположение Модель:
public function member() {
return $this->belongsTo('App\Member','member_id');
}
Модель участника:
public function locations(){
return $this->hasMany('App\Location','member_id');
}
Теперь в контроллере моего местоположения я создал следующую функцию.
public function getFinalData(){
$locations = Location::with('member')->whereNotNull('member_id')->get();
return view('locations.final-list',['locations'=>$locations]);
}
В моем шаблоне лезвия однако, я не могу перебирать свойств элементов
<ul>
@foreach($locations as $location)
<li>{{$location->id}}</li>
<li>
@foreach($location->member as $member)
{{$member->id}}
@endforeach
</li>
@endforeach
</ul>
Это дает мне следующую ошибку: Попытка получить свойство не-объекта (Вид: местоположениях /final-list.blade.php)
обновление: результат я пытаюсь добиться соответствует этому запросу
SELECT locations.location_id,locations.name,members.first_name, members.last_name , locations.meters
FROM locations,members
WHERE locations.member_id = members.id
Update 2:
Так я попытался получить доступ в одном месте с одной прилагается к нему, и что работает отлично
public function getFinalData(){
//$locations = Location::with('member')->whereNotNull('member_id')->get();
$location = Location::find(0);
return view('locations.final-list',['location'=>$location]);
}
в окончательном списке- $ Адрес-> член-> first_name
** Обновление 3 ** Выходной сигнал для одной записи:
member_id является Pk таблицы членов, так как это может быть NULL? Вы написали whereNotNull ('member_id'). –
@RaviHirani Из-за того, что я получаю список местоположений, у которых определен member_id? – KrisTemmerman
Возможно, что-то не хватает, но ваш метод 'getFinalData' кажется неправильным. Когда вы выполняете 'с' на модели, laravel только извлекает данные по отношению к этим отношениям. Он не запрашивает связанную модель. Итак, в вашем случае, когда вы делаете это '$ locations = Location :: with ('member') -> whereNotNull ('member_id') -> get();' вы должны получать ошибку 'Column not found'. – Dwijen