博客
关于我
laravel5.8(二十一)laravel查询结果集转为数组的方法
阅读量:388 次
发布时间:2019-03-05

本文共 1103 字,大约阅读时间需要 3 分钟。

Laravel框架从数据库中查询的结果集是以对象的 形势返回。

但是对于一些时候,使用数组,可能要比使用对象要方便一点。

这里我们大概看下,laravel中将对象结果集转换成数组的几个方法。

1:toArray()方法(只对get查询的结果集有作用)

toArray方法只对get方法查询的多条数据结果集有用。

$userInfo = DB::table("admin")                ->where("username",$username)                ->where("password",$pass)                ->get()                ->map(function ($value) {                       return (array)$value;                })->toArray();

对于first方法查询的单条结果集使用toArray会报错。

toArray只对laravel封装的框架方法有用,对执行原生sql的方法是没有用的。

如:

$userInfo = DB::select(" SELECT * FROM admin WHERE username = '{     $username}' AND password = '{     $pass}' ")->map(function ($value) {               return (array)$value;        })->toArray();

这样写是不对的。一定要注意。

2:先将对象编码成json字符串,再解码成数组

这个方法比较通用,对于get,first,以及原生sql查询的结果集都能处理。

public function objectToArray($object) {       //先编码成json字符串,再解码成数组    return json_decode(json_encode($object), true);}

3:get_object_vars()方法(只对first查询的单条结果集有作用)

DB::table('spaces')->first();//返回值是  object(stdClass)  $arrayData = get_object_vars($objectData);//返回值是array

以上大概就是将laravel查询的结果集转换为数组的三个方法。

有好的建议,请在下方输入你的评论。

欢迎访问个人博客

欢迎访问小程序:

在这里插入图片描述

转载地址:http://xohwz.baihongyu.com/

你可能感兴趣的文章
python之三元表达式、生成式、生成器表达式
查看>>
python之pickle模块
查看>>
IDEA-运行无法读取webapp下静态文件
查看>>
【高速接口-RapidIO】5、Xilinx RapidIO核例子工程源码分析
查看>>
设计模式(二)—工厂模式(简单工厂模式)(附代码)
查看>>
Cube-SLAM编译遇到的问题
查看>>
视觉SLAML1作业
查看>>
【转载】常见HTTP状态码
查看>>
一只蒟蒻的计算机网络学习【一】
查看>>
【一只蒟蒻的刷题历程】 【PAT】 A1070 月饼 (贪心)
查看>>
win10连接上wifi显示无internet,并且wlan的属性都点不了,可尝试的解决方法(亲测有用!!!)
查看>>
【一只蒟蒻的刷题历程】 【HDU-1276】 士兵队列训练问题
查看>>
【 UVA - 572 】 Oil Deposits (DFS水题)
查看>>
【 UVA - 673 】Parentheses Balance 平衡的括号 (非常容易理解!!)
查看>>
【 POJ - 1611 】 C - The Suspects(简单并查集)求集合中元素个数
查看>>
【 LeetCode 105】 从前序与中序遍历序列构造二叉树 (中等)
查看>>
【 LeetCode】剑指 Offer 12. 矩阵中的路径 (中等) dfs回溯
查看>>
剑指 Offer 06. 从尾到头打印链表 (简单)【栈】
查看>>
【Linux】 Linux实操 --- 开机、重启和用户登录注销
查看>>
【尚筹网项目】 一、【后台】搭建环境
查看>>