Size: a a a

2021 February 26

zN

zVlad Nesquik in Laravel UA
Коли визиваю Auth::user() то отримую інформацію про користувача.
Можно додати до Auth::user() інші массиви\об"єкти, які б просто в кеші були б?
Наприклад:
$user = Auth::user()
$user->mycol = 'abbagalamaga';

і щоб в любом місті де я визву Auth::user()->mycol я отримував би abbagalamaga.
источник

AS

Alex Sin in Laravel UA
Первая мысль пришла: можно заэкстендить аус кастомным аусом, переопределить метод юзер, там вызвать юзер родителя + нужные манипуляции, и под новый класс запилить фасад. Но нужно будет юзать другой неймспейс для ауса
источник

S

Sol in Laravel UA
zVlad Nesquik
Коли визиваю Auth::user() то отримую інформацію про користувача.
Можно додати до Auth::user() інші массиви\об"єкти, які б просто в кеші були б?
Наприклад:
$user = Auth::user()
$user->mycol = 'abbagalamaga';

і щоб в любом місті де я визву Auth::user()->mycol я отримував би abbagalamaga.
Если релейшен - то тебе нужен $with
источник

S

Sol in Laravel UA
Если нет - $appends
источник

S

Sol in Laravel UA
щоб в любом місті де я визву Auth::user()->mycol я отримував би abbagalamaga.

Это явно $appends, и getMycolAttribute  в модели юзера.
источник

zN

zVlad Nesquik in Laravel UA
Смисл в моїй штукі такий: у мене є деілька запитів: на ролі користувача, і ще декілька данниї з інших таблиць. Ці данні завжди статичні. І щоб не робити запити постійно, хочу просто внести ці данні в Auth(). Данні - це колекції.

Зараз же така схема: при авторизації я роблю запити до потрібних баз, кешую їх. Потім там де потрібно вивтести ці данні пишу типу так:
Auth::user()->info()->mycol
источник

S

Sol in Laravel UA
Я бы использовал просто кеш. Или что-то типа once пакета спати, на крайний случай
источник

AS

Alex Sin in Laravel UA
zVlad Nesquik
Смисл в моїй штукі такий: у мене є деілька запитів: на ролі користувача, і ще декілька данниї з інших таблиць. Ці данні завжди статичні. І щоб не робити запити постійно, хочу просто внести ці данні в Auth(). Данні - це колекції.

Зараз же така схема: при авторизації я роблю запити до потрібних баз, кешую їх. Потім там де потрібно вивтести ці данні пишу типу так:
Auth::user()->info()->mycol
по-моему инфо в цепочки лишний, ты ж там собираешь вертать вообще всю инфу, а не не только майкол, лучше сделать типо user()->getMyCol(), так ты достаешь только то что нужно, если ты майкол кешируешь отдельно от других данных
источник

AS

Alex Sin in Laravel UA
Sol
Я бы использовал просто кеш. Или что-то типа once пакета спати, на крайний случай
С пакетом не всегда круто, потому что не всегда есть возможно новый пакет поставить. Как по мне - депенденси хелл - это не редкость))
источник

AS

Alex Sin in Laravel UA
zVlad Nesquik
Смисл в моїй штукі такий: у мене є деілька запитів: на ролі користувача, і ще декілька данниї з інших таблиць. Ці данні завжди статичні. І щоб не робити запити постійно, хочу просто внести ці данні в Auth(). Данні - це колекції.

Зараз же така схема: при авторизації я роблю запити до потрібних баз, кешую їх. Потім там де потрібно вивтести ці данні пишу типу так:
Auth::user()->info()->mycol
Что решил?)
источник

zN

zVlad Nesquik in Laravel UA
Alex Sin
Что решил?)
Ну пока шо у вигляді кешу :) Працює.
Але хочеться визивати данні не так:
Auth::user()->info()->mycol
А ось так:
Auth::user()->mycol
источник

AS

Alex Sin in Laravel UA
zVlad Nesquik
Ну пока шо у вигляді кешу :) Працює.
Але хочеться визивати данні не так:
Auth::user()->info()->mycol
А ось так:
Auth::user()->mycol
Ну у тебя же в аутх юзер вертается модель юзера, или массив?
источник

zN

zVlad Nesquik in Laravel UA
Alex Sin
Ну у тебя же в аутх юзер вертается модель юзера, или массив?
Модель.
источник

S

Sol in Laravel UA
zVlad Nesquik
Ну пока шо у вигляді кешу :) Працює.
Але хочеться визивати данні не так:
Auth::user()->info()->mycol
А ось так:
Auth::user()->mycol
Геттер для mycol атрибута, внутри которого - кеш
источник

AS

Alex Sin in Laravel UA
Типо если там User object, то в классе User можно зафигачить например __get() и там делать return $this->info()->mycol; Тогда клиенский код Auth::user()->mycol прокатит как Auth::user()->info()->mycol
источник

AS

Alex Sin in Laravel UA
источник

S

Sol in Laravel UA
Alex Sin
Типо если там User object, то в классе User можно зафигачить например __get() и там делать return $this->info()->mycol; Тогда клиенский код Auth::user()->mycol прокатит как Auth::user()->info()->mycol
__гет юзает собственно лара
источник

zN

zVlad Nesquik in Laravel UA
Alex Sin
Типо если там User object, то в классе User можно зафигачить например __get() и там делать return $this->info()->mycol; Тогда клиенский код Auth::user()->mycol прокатит как Auth::user()->info()->mycol
О, попробую) Дякую :)
источник

AS

Alex Sin in Laravel UA
Sol
__гет юзает собственно лара
Що ви маєте на увазі ?
источник

AS

Alex Sin in Laravel UA
Блин неудобно, на укр. раскладке приходиться переключаться на инглиш чтобы поставить вопросительный знак
источник