laravel get或first查出来是对象

问题描述

当我使用 ->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,这样可以少写很多代码。

posted @   xiaojiu99  阅读(46)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示