были сделаны через цикл , но если я их вывожу через print_r() они работают, в чем может быть причина?
может хотябы кто нибудь из-за жалости ответит или ради приличия 😂
А где там print_r?
echo $user_all; показывает все что было передано в цикле
глянь на return;
я его ставил чтобы проверить сохраняется ли данные в цикле или нет
Слишком мало инфы для дебага в чате. Нужны дампы входного массива, после цикла, в событии что приходит. Код события. Может у тебя там несколько раз вызывается в разных местах... Если в массиве объекты и они изменили состояние, то просто так обратно не откатятся Может после сериализации потерялись поля?
Я вывожу всех пользователей в User::all(); после прохожу по циклу и вызываю для каждого его цикла роль. К массиву добавляется массив roles = ['роли пользователя] . Код event(new ChatUser(auth()->user(), $user_all)); не видит внутри коллекции ничего . даже если делаю User::with('history')->get(); он не видит history отношения, но если я делаю echo все работает
вот скрин
что такое дампы ?
у тебя драйвер какой событий?
если ты уверен что до того как ты передал в событие данные правильные, а потом нет, то они теряются на сериализации.
как сделать чтобы они не терялись?
Массив передавай
ну сначала надо убедиться, что их действительно нет из-за сериализации. сделай toArray() или toJson() посмотри че вернет.
"Call to undefined method Illuminate\Database\Eloquent\Builder::toArray()
$user_all[0]->toArray() - вангую, что там не будет твоего roles
ну я точно не помню как там будет в бродкасте обрабатываться. мож не прав.. в любом случае работай лучше как с массивом или DTO отдельный сделай. а не прокидывай модели измененные
мм да вы правы, вроде передается но со стороны фронтенда цирк только начинается. Ладно сейчас разберусь
Слава истинного разработчика)))
Обсуждают сегодня