Thinkphp5 数据集返回类型

 ThinkPhp  2018-12-06  admin  8853  11951

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 数据集返回类型 —— code.cent123.com

相关推荐


Systemd Web 管理系统:简化服务管理

# Systemd Web Systemd Web 是一个 Systemd 的 Web UI 管理系统,通过直观的界面和易用的操作,让用户能够轻松地管理 Linux 系统和服务。该项目旨在简化 Systemd 的使用,使得无论是专业的系统管理员还是普通的用户,都能够方便地对系统进行操作。 ## [github地址] (https://github.com/topascend/systemd

linux 系统最简单的安装 go 开发环境步骤

1. 官网下载放在 /godev 目录https://golang.google.cn/dl/或wget https://dl.google.com/go/go1.22.2.linux-amd64.tar.gz或curl -O https://dl.google.com/go/go1.22.2.linux-386.tar.gz2. 解压tar -xvf go1.22.2.linux-amd64.t

esp32 使用mqtt 通讯

esp32 使用mqtt 通讯基于go的mqtt 客户端packagemain import( "fmt" "github.com/gogf/gf/v2/encoding/gjson" "github.com/gogf/gf/v2/frame/g" "gobot.io/x/gobot" &qu

GoFrame 框架中使用 mqtt 协议通讯

GoFrame 框架中使用 mqtt//SPDX-License-Identifier:MIT //SPDX-FileCopyrightText:2022mochi-mqtt,mochi-co //SPDX-FileContributor:mochi-co packagemqtt import( "flag" "gfmqtt/internal/