我在Laravel中使用数据库时遇到了这个问题。我如何将其转换为最简单的数组呢?
$data = DB::table('users')->get();
siv3szwd1#
请尝试此操作。这将返回对象数组。
$result = json_decode(json_encode($data, true));
*已更新
如果您想将所有嵌套属性转换为数组,请尝试以下操作。
$result = json_decode(json_encode($data, true), true);
0x6upsns2#
get()将返回一个集合。如果要获取对象的数组,请使用toArray()方法:
get()
toArray()
$data->toArray();
如果要将每个对象也转换为数组,请执行以下操作:
$data->map(function($i) { return (array)$i; })->toArray();
lf3rwulv3#
当我使用DB::select并手动编写sql:时,我通常会遇到这个问题。
$sql = 'SELECT * FROM ba_pics ba INNER JOIN pages pgs ON ba.service_page_id = pgs.id'; $baPics = DB::select($sql); $baPics = json_decode(json_encode($baPics, true), true); return view('beforeAndAfter',['baPics'=>$baPics, 'lodata'=>'no lodata yet']);
下面是使用PHP的array_map函数的另一种方法:
$sql = 'SELECT * FROM ba_pics ba INNER JOIN pages pgs ON ba.service_page_id = pgs.id'; $baPics = DB::select($sql); $baPics = array_map(function($i) { return (array)$i; }, $baPics); return view('beforeAndAfter',['baPics'=>$baPics, 'lodata'=>'no lodata yet']);
3条答案
按热度按时间siv3szwd1#
请尝试此操作。这将返回对象数组。
*已更新
如果您想将所有嵌套属性转换为数组,请尝试以下操作。
0x6upsns2#
get()
将返回一个集合。如果要获取对象的数组,请使用toArray()
方法:如果要将每个对象也转换为数组,请执行以下操作:
lf3rwulv3#
当我使用DB::select并手动编写sql:时,我通常会遇到这个问题。
下面是使用PHP的array_map函数的另一种方法: