我想为SQL查询的每个结果添加元素:
$res = DB::table('users')->get();
forEach ($res as $elem) {
$elem['new_data'] = 'this is my new data';
}
但是我在循环中的行上得到了这个错误:
不能使用stdClass类型的对象作为数组
我该怎么做?
感谢您的帮助。
答案 0 :(得分:3)
您也可以使用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)
答案 1 :(得分:0)
请参阅错误消息。
无法使用stdClass类型的对象作为数组
$ res是对象的集合
在foreach中使用:
$elem->new_data
Insted of:
$elem['new_data']
$ elem不是数组