Thinkphp5 数据集返回类型

 ThinkPhp  2018-12-06  admin  8143  10993

Fatal error: Call to a member function toArray() on array

Call to a member function toArray() on array


数据库的查询结果也就是数据集,默认的配置下,数据集的类型是一个二维数组,我们可以配置成数据集类,就可以支持对数据集更多的对象化操作,需要使用数据集类功能,可以配置数据库的resultset_type 参数.

database.php

// 数据集返回类型
'resultset_type' => 'collection',

或者在model设置属性

protected $resultSetType = 'collection';

V5.1.23+ 版本开始,你可以在查询的时候指定是否需要返回数据集(无需配置 resultset_type 参数)

// 获取数据集
$users = Db::name('user')->fetchCollection()->select();

模型的 all 和 select 查询方法默认返回数组,模型的 all 和 select 查询方法返回数据集对象 think\model\Collection ,该对象继承自think\Collection ,因此具有数据库的数据集类的所有方法,而且还提供了额外的模型操作方法。基本用法和数组一样,例如可以遍历和直接获取某个元素。

如果是数据集查询的话有两种情况,由于默认的数据集返回结果的类型是一个数组,因此无法调用 toArray方法,必须先转成数据集对象然后再使用 toArray 方法,系统提供了一个 collection 助手函数实现数据集对象的转换,代码如下

V5.0版本

$list = User::all();
if($list) {
$list = collection($list)->toArray();
}


如果文章对您有帮助,点击下方的广告,支持一下作者吧!

转载必须注明出处:

Thinkphp5 数据集返回类型 —— centhp.com

相关推荐


php 正则获取字符串中所有图片链接地址并下载图片

php 正则获取字符串中所有图片链接地址并下载图片/** *获取图片的绝对地址 *@paramstring$content *@returnmixed *@Author:centphp.com */ functiongetImageUrl(string$content="") { //$pattern="/src=[\"\'](\S*

PHP常用正则表达式汇总

PHP常用正则表达式汇总"^\d+$"  //非负整数(正整数+0) "^[0-9]*[1-9][0-9]*$"  //正整数 "^((-\d+)|(0+))$"  //非正整数(负整数+0) "^-[0-9]*[1-9][0-9]*$"  //负整数 "^-?\d+$"    //整数

Ghostscript pdf转图片的常用方法

Ghostscript是PostScript®语言和PDF文件的解释器。它可以根据GNU GPL Affero许可证获得,也可以从Artifex Software,Inc.获得商业使用许可。它已经积极开发了30多年,在此期间已经移植到多个不同的系统。Ghostscript由PostScript解释器层和图形库组成。https://www.ghostscript.com/ gswin64c.exe

php 判断远程文件是否存在

php 判断远程文件是否存在if(!function_exists('check_remote_file_exists')){ /** *判断远程文件是否存在. *@param$urlstringhttp或https开头的绝对地址 *@returnstring *@Date:2020-07-3116:47:06 *@Author:centphp.com */ fun