Я хочу добавить элементы к каждому результату запроса SQL:
$res = DB::table('users')->get(); forEach ($res as $elem) { $elem['new_data'] = 'this is my new data'; }
Но я получаю эту ошибку в строке в цикле:
Невозможно использовать объект типа stdClass в качестве массива
Как мне это сделать?
Спасибо за вашу помощь.
См. Сообщение об ошибке.
$ res - это коллекция объектов
Использование внутри foreach:
$elem->new_data
Поставлено:
$elem['new_data']
$ elem не является массивом
Вы также можете использовать функцию сбора Laravel https://laravel.com/docs/5.6/collections
$res = DB::table('users')->get(); $res = $res->map(function($user) { $user->new_data = 'this is my data' return $user; } dd($res)