Size: a a a

2021 September 03

AI

Alexey Illarionov in Laravel Pro
блин, я только недавно нормально открыл для себя json resource
источник

AI

Alexey Illarionov in Laravel Pro
до этого думал, что это просто для форматирования
источник

AI

Alexey Illarionov in Laravel Pro
какая же крутейшая штука, которая сэкономила бы десятки дней (
источник

АГ

Александр Гавва... in Laravel Pro
Расскажи нам для чего используешь
источник

AI

Alexey Illarionov in Laravel Pro
Для фильтрации того, какие поля стоит отдавать клиенту
источник

AI

Alexey Illarionov in Laravel Pro
"options" => $this->when($user->isAdmin(), ..),
"paymentInfo" => $this->when($user->isAccount(), ...)
источник

AI

Alexey Illarionov in Laravel Pro
ну и сборка того что отдавать тоже там жирная логика
источник

AI

Alexey Illarionov in Laravel Pro
в итоге контроллер теперь вообще не парится насчет секьюрности данных и тд, просто все шлет в ресурс
источник

AI

Alexey Illarionov in Laravel Pro
и уже ресурс - единственное место, где происходит отделение зерн от плевел
источник

AI

Alexey Illarionov in Laravel Pro
я раньше его воспринимал просто типа как "ну отформатировать дату, апперкейс сделать"
источник

d.

dev . in Laravel Pro
а что не так с методом When в ресурсах.

посмотрел исходники так они немного бредовые.
на вход приходят или 2 или 3 параметра (3й - default)

но если 2й аргумент передать Closure то он пытается вернуть не default а Closure(default) т.е прогнать через колбек.. нахера? Мне надо бы вернуть default как дефаулт в этом случае
источник

d.

dev . in Laravel Pro
посмотри внимательнее
источник

SG

Sergey Gerasimov in Laravel Pro
Если у тебя 2ой параметр зависит от 1ого, тогда очень удобно вернуть через Closure
источник

d.

dev . in Laravel Pro
у меня ситуация что есть поле

и если оно нул - оставить как есть
если НЕ нул - задекорировать (добавить префикс)

пример:

значение a==null -> В ресурсе null
значение а=1 в отдаче ресурсе http://1
источник

d.

dev . in Laravel Pro
выходит надо через колбек.. когда есть - все ок. но оно так же вызывает callback(null)
источник

d.

dev . in Laravel Pro
ото такие дела
источник

d.

dev . in Laravel Pro
хотя вроде как аргумент называется default
источник

d.

dev . in Laravel Pro
немного неожиданное поведеине
источник

SG

Sergey Gerasimov in Laravel Pro
Ну вот смотри:
'user' => $this->when($resource->user, $resource->user->name),
Упадет с ошибкой
источник

SG

Sergey Gerasimov in Laravel Pro
'user' => $this->when($resource->user, fn() => $resource->user->name),
А так проблем не будет
источник