本文共 1221 字,大约阅读时间需要 4 分钟。
在开发过程中, 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() 方法查询结果集。这种方法的优势在于通用性,适用于 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/