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

Posted 不睡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP5——模型查询返回的对象转换为数组相关的知识,希望对你有一定的参考价值。

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

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

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

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

改为

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

在查询数据的时候,在后面加上 ->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) [{…}, {…}]



以上是关于ThinkPHP5——模型查询返回的对象转换为数组的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp5.1 使用小记

模型查询对象类型转数组

如何将 laravel 模型工厂创建方法返回的对象转换为包含模型字段的数组?

ThinkPHP5.0 模型查询操作

如何以角度将 JSON 对象数组转换为 Observable 数组

Thinkphp5 查询条件为[NOT] NULL时 数组写法