ThinkPHP5——模型查询返回的对象转换为数组

稳哥的小灶 2020-01-04

使用模型查询的返回的结果集为对象,其中里面的数据,TP5框架会自动对里面的data:protected该项进行处理。

但有时我们就想要数据,就想返回一个数组就可以了,怎么办?有两种方法可以实现:

方法一:找到TP5框架中的database.php文件,该文件中找到 resultset_type 该项,将后面的 array 改成 \think\Collection 【注意大小写】

// 数据集返回类型
‘resultset_type‘  => ‘array‘, 

改为

// 数据集返回类型
‘resultset_type‘  => ‘\think\Collection‘,

在查询数据的时候,在后面加上 ->toArray(); 例如:

$data = User::select() -> toArray();

方法二:在模型里设置

首先在Model中添加该属性:

protected $resultSetType = ‘collection‘;

在查询数据的时候,在后面加上 ->toArray(); 例如:

$data = User::select() -> toArray();

 
tp5输出的数组如何放到js里使用
var arr = {:json_encode($user)};
console.log(arr)
 
输出打印结果如下:
(2) [{…}, {…}]

相关推荐