Как добавить элемент в коллекцию Laravel?

Есть стандартная табличка с пользователями users.
Есть выборка:
$users = Users::all();

По ходу кода в цикле
foreach ($users as $user){
...
тут нужно добавить новое поле в $users
}
Это нужно, чтобы потом удобно в виде вытаскивать новые, дополнительные данные.

Наглядно вот:
5b69ca7a9ec52273025529.png
  • Вопрос задан
  • 3070 просмотров
Решения вопроса 1
@mShpakov
$user->new_property = “some value”;
$user-save();

Соответственно новое свойство нужно прописать в fillable в модели и ввести в таблицу. Если я правильно понял вопрос
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
AmdY
@AmdY
PHP и прочие вебштучки
Надо добавить get-set для аттрибута и прописать его в $appends, чтобы не было проблем с сериализацией https://laravel.com/docs/5.6/eloquent-serializatio...
Ответ написан
Комментировать
@GssGenic
Программист со стажем более 20 лет.
foreach ($users as $user){
$user->setAttribute($key,$val)
}

Это если не нужно трогать таблицы. Время жизни - текущий запрос. Бывает удобно коллекцию напихать всеми расчетными элементами и передать как интерфейс в шаблонизатор.

тут методы Eloquent модели.
https://laravel.com/api/5.7/Illuminate/Database/El...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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