如何将使用eloquent模型从数据库获取的$ users值转换为$ finalVaue?

时间:2016-05-11 07:10:49

标签: php mysql laravel laravel-5.2

 $users = User::select(['name','value'])->orderBy('value','DESC')->get();

我想将$ users以上的值转换为$finalValue,如下所示

  $finalValue=  array(
       (object) array( 'name' => 'name1', 'value' => 10 ),
       (object) array( 'name' => 'name2', 'value' => 7 ),
       (object) array( 'name' => 'name3', 'value' => 6 ),
       (object) array( 'name' => 'name4', 'value' => 3 ),
    );

3 个答案:

答案 0 :(得分:0)

使用foreach

$finalValue = [];
foreach($users as $user) {
    $finalValue[] = ['name' => $user->name, 'value' => $user->value];
}

如果要转换$finalValue数组的每个元素,请在每个附加数组的前面添加(object),如下所示:

$finalValue[] = (object)['name' => $user->name, 'value' => $user->value];

虽然我不知道这是如何有用的。

foreach&的文档type juggling

答案 1 :(得分:0)

使用雄辩的lists

可以很容易地做到这一点
 $finalValue = User::orderBy('value','DESC')->lists('name', 'value');

答案 2 :(得分:0)

使用toArray();

$users = User::select(['name','value'])
->orderBy('value','DESC')
->get()
->toArray();
相关问题