如何将对象转换为数组Laravel 4.2


How to convert object as array Laravel 4.2

我有以下查询:

$data = DB::table('users')
->select(['id', 'firstName AS inputFirstName', 'lastName AS inputLastName', 'email AS inputEmail'])
->where('id', '=',$id )
->first();

它返回对象,但我需要数组,我用这种方式转换它:

$array_data =  json_decode(json_encode((array) $data), true);

但我不确定这样做是否正确!我使用的是Laravel 4.2,我需要使用别名进行这个选择查询,这就是为什么我不使用Eloquent,而是使用这个原始查询。

有没有更好的方法让这个选择查询返回数组?谢谢

您可以使用toArray方法。

您有一个对象,可以将其变换为和数组。

$dataArray=$data->toArray();

您可以在Laravel文档中找到此方法。

如果遇到问题,这将为您提供一个纯PHP解决方案。

foreach($tags as $object) {
  $tag_array[] = $object->name;
}