Задать вопрос
@lynnikvadim

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

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

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

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


Что я делаю не так ?
  • Вопрос задан
  • 479 просмотров
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Loftschool
    Комплексное обучение PHP
    6 недель
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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);
}
Ответ написан
Ваш ответ на вопрос

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

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