问题描述
当我使用 ->get()->toArray();
并没有得到我期望的值,
我打印最外层是数组,可第二层里还是对象,
网上我看也有用 ->get()->map(){
}
利用php map() 函数处理觉得不太好,于是选择自己写一个这样就不用去处理里边的这样不管是->first 还是 ->get()出来的值都是数组,方便做一些后续处理如加字段,
方法如下(建议放在helpers/function.php里):
function objectToArray($object) {
//先编码成json字符串,再解码成数组
return json_decode(json_encode($object), true);
}
查询完记得判断是否为空 ,判段如下 first()
$reData = $data->first();
if(empty($reData) || $reData == NULL)
return [];
else
return objectToArray($reData);
->get();
$reData = $data->get();
if(empty($reData) || $reData == NULL)
return [];
else
return objectToArray($reData);
->paginate() 分页
$reData = $data->paginate($size,['*'],'page',$cur_page);
return objectToArray($reData);
如果写项目时间允许,可以先封装模型,在拉一些自己总结的函数,接着封装一个公共的 控制器 base,这样可以少写很多代码。