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

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

Laravel查询结果转换为数组的三种方法

在开发过程中, Laravel 框架返回的查询结果集通常以对象形式存在。然而,有时候使用数组形式可能更加方便,特别是在处理数据时需要更灵活的操作。以下是将 Laravel 查询结果转换为数组的几种常用方法。

方法一:使用 toArray() 方法

Laravel 提供了 toArray() 方法,可用于将结果集转换为数组。但需要注意的是,该方法仅适用于 get() 方法返回的多条数据结果集。如果使用 first() 方法获取单条记录,调用 toArray() 会抛出错误。

示例代码:

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

注意事项:

  • toArray() 方法仅适用于封装的 get() 方法查询结果集。
  • 对于原生 SQL 查询的结果集,该方法不会产生预期效果,需要结合其他方法使用。

方法二:将对象转换为 JSON 并解码为数组

这种方法的优势在于通用性,适用于 get()first() 以及原生 SQL 查询的结果集。通过将对象编码为 JSON 字符串,再解码为数组,可以实现对不同结果集的统一处理。

示例代码:

public function objectToArray($object) {    return json_decode(json_encode($object), true);}

使用示例:

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

方法三:使用 get_object_vars() 方法

get_object_vars() 方法可以将单条记录的对象转换为数组。这种方法仅适用于 first() 方法查询的单条结果集。

示例代码:

$userData = DB::table('spaces')->first();$arrayData = get_object_vars($userData);

总结

以上是将 Laravel 查询结果集转换为数组的三种常用方法。每种方法适用于不同的场景,选择合适的方法取决于你的查询需求。希望这些方法能帮助你更高效地处理数据!

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

你可能感兴趣的文章
pandas :检测一个DF和另一个DF之间缺失的列
查看>>
Pandas-从具有嵌套列表列表的现有列创建动态列时出错
查看>>
Pandas-通过对列和索引的值求和来合并两个数据框
查看>>
pandas.columns、get_dummies等用法
查看>>
pandas.DataFrame.copy(deep=True) 实际上并不创建深拷贝
查看>>
pandas.read_csv()的详解-ChatGPT4o作答
查看>>
PANDAS.READ_EXCEL()输出‘;溢出错误:日期值超出范围‘;而不存在日期列
查看>>
pandas100个骚操作:再见 for 循环!速度提升315倍!
查看>>
Pandas:如何根据其他列值的条件对列进行求和?
查看>>
Pandas:对给定列求和 DataFrame 行
查看>>
Pandas、groupby 和特定月份的求和
查看>>
Pandas、Matplotlib、Pyecharts数据分析实践
查看>>
Pandas中文官档 ~ 基础用法1
查看>>
Pandas中文官档~基础用法2
查看>>
SpringBoot+Vue+OpenOffice实现文档管理(文档上传、下载、在线预览)
查看>>
Pandas中文官档~基础用法5
查看>>
Pandas中文官档~基础用法6
查看>>
Pandas中的GROUP BY AND SUM不丢失列
查看>>
Pandas中的GROUP BY AND SUM不丢失列
查看>>
Pandas之iloc、loc
查看>>