Я надеялся, что кто-то сможет прояснить небольшую путаницу, с которой я столкнулся с этой ошибкой. Так вот мой код. (примечание) модель User имеет отношение hasMany к Image
$user = User::with('profile')->whereUsername($username)->firstOrFail();
$images = $user->images->all();
dd($user->toArray());
Моя путаница — это dd ($ user-> toArray ()); отлично работает Но когда я пробую этот dd ($ images-> toArray ()), я получаю вызов функции-члена toArray () в массиве. Это убило меня на некоторое время. $ user и $ images являются объектами, но toArray () работает только на $ user. Кроме того, $ images [0] -> toArray () тоже работает нормально, что только добавляет путаницы.
Я думаю, это происходит потому, что $ images — это набор объектов, а не объект, такой как $ user.
Проверьте Выполнение запросов-отношения в документации красная область в конце этого раздела. Это объясняет, почему $ images [0] -> toArray () работает нормально.
Других решений пока нет …