@lynnikvadim

Ошибка модели Laravel?

Почему не работает:
$org = OrgModel::all()->user();
А вот это работает: $org = OrgModel::find($id)->user();
Обе строки находятся в одном контроллере в разных функциях.

Данный код служит для отношений двух таблиц. ( ->user(); )

Пишет ошибку:
Call to undefined method Illuminate\Database\Eloquent\Collection::user()


Что я делаю не так ?
  • Вопрос задан
  • 452 просмотра
Пригласить эксперта
Ответы на вопрос 1
vanchelo
@vanchelo
Потому что метод all возвращает коллекцию моделей, а не одну модель.
$org = OrgModel::all();
foreach ($org as $item) {
    $item->user();
}


Но так делать не правильно, правильно вот так
$org = OrgModel::with('user')->all();
foreach ($org as $item) {
    var_dump($item->user);
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы