170 похожих чатов

Гайз, кто сталкивался с такой ошибкой? Создал новый проект на 8

ларе, засидил юзеров в БД и хочу вернуть из контроллера текущего залогиненного юзера, но вернуть через Resource.
Создал UserResource, который просто маппит поля юзера в toArray(), возвращаю из контроллера return new UserResource($user); и получаю ошибку
Trying to get property 'first_name' of non-object
При этом надо понимать, что модель юзера правильная. Заглянул через xdebug внутрь ресурса и удивился. $this->resource внутри UserResource::toArray() содержит json, а не модель юзера, т.е. в toArray() я не могу получить модель юзера и как-либо её отформатировать.

До этого уже тысячу раз писал ресурсы и все было окей. Это какой-то новый прикол 8 лары, о котором нигде в доке не сказано? Как с этим быть?

7 ответов

11 просмотров

а модель юзера как берёшь? правильнее было б передавать auth()->user()

Alexander-Osipov Автор вопроса

Тут в этом разницы нет, модель точно правильная, содержит объект App\Models\User. Вот скрин из дебага с точки остановки перед return в UserResource::toArray(). тут уже лежит json, хотя предполагается объект, который был передан. Втф.

покажи код контролера

Alexander-Osipov Автор вопроса

public function index(Request $request) { /** @var User $user */ $user = $request->user(); return new UserResource($user); }

а теперь UserResource код

Alexander-Osipov Автор вопроса

class UserResource extends JsonResource { public function toArray($request) { /** @var User $this */ return [ 'first_name' => $this->first_name, 'last_name' => $this->last_name, 'email_verified_at' => $this->email_verified_at, ]; } }

a $request->user() точно модельку возвращает? может уже он строку тебе пихает в ресурс?

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта