Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Пытаюсь получить связь Один ко Многим в такой логике.
Таблицы:
users
members
meetings
Сначала связь многие ко многим
$member = $user->members->pluck('id')->toArray();
Получаю массив
array:1 [▼
0 => 3
]
Дальше связь один ко многим
$member=Member::find($member);
$meetings = $member->meetings;
foreach($meetings as $meeting);
Дальше тупик.
Property [meetings] does not exist on this collection instance
Не в сети
А что вы ожидаете? find принимает на вход число (айди). А вы передаете массив. Ссылку на документацию апи посмотрите
Не в сети
Спасибо за участие. Очень полезная ссылка. На будущее.
Вопрос решил так
$member = $user->members;
foreach ($member as $object){
$object->id;
$member=Member::find($object->id);
$meetings = $member->meetings;
foreach($meetings as $meeting);
}
Не в сети
Есть такая таблица
Модели
Coop;
User;
Связь многие ко многим.
Далее нижеследующий код:
$user = User::find(Auth::id());
$coops = Coop::find(3);
foreach ($coops as $coop)
echo ($coops->name);
dd($coops->name);
И в результате:
В базе в таблице одна запись, а после запроса в ответе четыре?
Подскажите куда копать? ибо при продолжении выполнения следующего кода
$user = User::find(Auth::id());
$coops = Coop::find(3);
foreach ($coops as $coop)
if($coops->name == 'admin')
{
return TRUE;
}
return FALSE;
if (Gate::denies('add-meeting', $coops)){
echo 'Разрешено';
}else{
echo 'Не разрешено';
}
exit;
The Response content must be a string or object implementing __toString(), "boolean" given.
Не в сети
Страницы 1