在项目中再次碰见laravel中从数据库中查询到的结果是对象,用toArray也不好用,之前改过一次,印象中是在/confing/database.php, 'fetch' => PDO::FETCH_OBJ,这行改为'fetch' =>FETCH_ASSOC就好用了,但是我现在做的这个是二次开发,那么如果这个改了,之前做的东西可能会出错,然后又找了找,查了查,结果是这样的
引用
use PDO;DB::setFetchMode(PDO::FETCH_ASSOC);$rs = DB::table('vrtourl') -> get();
就可以解决了。
PDO::FETCH_ASSOC //从结果集中获取以列名为索引的关联数组。PDO::FETCH_NUM //从结果集中获取一个以列在行中的数值偏移量为索引的值数组。PDO::FETCH_BOTH //这是默认值,包含上面两种数组。PDO::FETCH_OBJ //从结果集当前行的记录中获取其属性对应各个列名的一个对象。PDO::FETCH_BOUND //使用fetch()返回TRUE,并将获取的列值赋给在bindParm()方法中指定的相应变量。PDO::FETCH_LAZY //创建关联数组和索引数组,以及包含列属性的一个对象,从而可以在这三种接口中任选一种。
另外的方法:
function objectToArray($object) {//先编码成json字符串,再解码成数组return json_decode(json_encode($object), true);
}
以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要戳这里PHP进阶架构师>>>视频、面试文档免费获取
或 者关注我每天分享技术文章
PHP进阶编程www.zhihu.com
作者:淡淡的幸福
来源:博客园
地址:https://www.cnblogs.com/bluealine/p/11003350.html