laravel/lumen框架model层查询出来的对象转化数组
最近项目用到lumen写接口,所以看了一下手册,发现lumen已经更新到(6.X)了,
以前也用过laravel5.2感觉差距还是挺大的,话不多说,贴代码:
model层代码
//获取学生信息
function getCandInfo($where, $clomun = '*', $order = '', $orderType = 'asc')
{
$orgObject = DB::table($this->tableName)->select($clomun);
if (!empty($where)) {
$orgObject->where($where);
}
if (!empty($order)) {
$orgObject->orderBy($order, $orderType);
}
$data = $orgObject->get()->map(function ($value) {
return (array)$value;
})->toArray();
return $data;
}
toArray的结果是这样的(最外面一层皮是数组,里面是对象)
其中手册上是说,toArray() 已经是将对象转化成了数组,但它只是转化了最外面一层,里面如果调用的话还是得这这样调用,例如:
$candData = candModel::getCandInfo();
$one = $candData[0]->cand_id
cand_id是数据库的字段,感觉这样太麻烦
所以加上了 map(function ($value) { return (array)$value; })这样返回的数据就是纯正的数组了