Laravel Eloquent:向SQL查询结果添加元素

时间:2018-05-11 16:43:50

标签: laravel eloquent

我想为SQL查询的每个结果添加元素:

$res = DB::table('users')->get();
forEach ($res as $elem) {
    $elem['new_data'] = 'this is my new data';
}

但是我在循环中的行上得到了这个错误:

  

不能使用stdClass类型的对象作为数组

我该怎么做?

感谢您的帮助。

2 个答案:

答案 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不是数组