thinkphp5 模型实例化获得数据对象的教程


Posted in PHP onOctober 18, 2019

模型对象和数据对象理解

1. 模型对象:模型类实例化后获得的对象;

2. 数据对象:获取到了原始数据的模型对象;

原始数据:存放在模型对象的$data属性中($data是一个数组)

数据对象:说到底,还是一个模型对象,千万不要认为是一个全新的对象

DB操作返回是数组。

模型直接操作返回是对象。

//该对象共计有28个受保护属性,必须在本类或子类中使用,外部不能直接使用
object(app\index\model\Staff)#5 (28) {

 //数据库配置数组
 ["connection":protected] => array(0) {
 }
 //数据库查询对象,负责最终完成对数据库的操作
 ["query":protected] => NULL
 //模型名称 ,创建时自动赋值
 ["name":protected] => string(5) "Staff"
 //与模型绑定的数据表的完整名称(包括前缀的表名,如:tp5_staff)
 ["table":protected] => NULL
 //用命名空间表示的、当前的模型类名:Staff
 ["class":protected] => string(21) "app\index\model\Staff"
 //出错时显示的信息
 ["error":protected] => NULL
 //字段验证规则
 ["validate":protected] => NULL
 //数据表主键
 ["pk":protected] => NULL
 //数据表字段名列表(与数据表对应)
 ["field":protected] => array(0) {
 }
 //只读字段列表
 ["readonly":protected] => array(0) {
 }
 //显示字段列表
 ["visible":protected] => array(0) {
 }
 //隐藏属性字段列表
 ["hidden":protected] => array(0) {
 }
 //追加属性列表
 ["append":protected] => array(0) {
 }
 //与数据表字段对应的信息列表(极其重要)
 ["data":protected] => array(0) {
 }
 //字段修改信息列表
 ["change":protected] => array(0) {
 }
 //自动完成列表
 ["auto":protected] => array(0) {
 }
 //新增自动完成列表
 ["insert":protected] => array(0) {
 }
 //更新自动完成列表
 ["update":protected] => array(0) {
 }
// 是否需要自动写入时间戳 如果设置为字符串 则表示时间字段的类型
 ["autoWriteTimestamp":protected] => bool(false)
 //设置表中:创建时间字段的名称
 ["createTime":protected] => string(11) "create_time"
 //设置表中:更新时间字段的名称
 ["updateTime":protected] => string(11) "update_time"
 //设置表中:时间字段的格式
 ["dateFormat":protected] => string(11) "Y-m-d H:i:s"
 //数据表中各字段类型定义
 ["type":protected] => array(0) {
 }
 //是否是:更新操作
 ["isUpdate":protected] => bool(false)
 //更新条件
 ["updateWhere":protected] => NULL
 //当前执行的关联条件
 ["relation":protected] => NULL
 //验证失败是否抛出异常
 ["failException":protected] => bool(false)
//全局查询范围设置
 ["useGlobalScope":protected] => bool(true)
}

当我们用select()进行查询得出的结果无法toarray的时候,下面的方法就用得上了。

对象类型转换数组

打开 database.php 增加或修改参数

'resultset_type' => '\think\Collection',

即可连贯操作

model('user')->select()->toArray()

以上这篇thinkphp5 模型实例化获得数据对象的教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
如何使用PHP往windows中添加用户
Dec 06 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
php学习笔记之基础知识
Nov 08 PHP
PHP GD库生成图像的几个函数总结
Nov 19 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
Feb 15 PHP
php关闭warning问题的解决方法
May 17 PHP
php Session无效分析资料整理
Nov 29 PHP
php实现留言板功能
Mar 05 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
Nov 06 PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
May 15 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
Oct 18 #PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 #PHP
基于laravel belongsTo使用详解
Oct 18 #PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
Oct 18 #PHP
Laravel 框架返回状态拦截代码
Oct 18 #PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 17 #PHP
Mac下关于PHP环境和扩展的安装详解
Oct 17 #PHP
You might like
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
php HTML无刷新提交表单
2016/04/05 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
2017/02/15 PHP
chrome调试javascript详解
2015/10/21 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
vue实现购物车加减
2020/05/30 Javascript
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
Python PyQt5实现的简易计算器功能示例
2017/08/23 Python
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
Python3内置模块pprint让打印比print更美观详解
2019/06/02 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
pygame实现成语填空游戏
2019/10/29 Python
python保存log日志,实现用log日志画图
2019/12/24 Python
Python 定义只读属性的实现方式
2020/03/05 Python
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
武汉某公司的C#笔试题面试题
2015/12/25 面试题
大学四年学习的自我评价分享
2013/12/09 职场文书
一年级班主任感言
2014/03/08 职场文书
药店收银员岗位职责
2015/04/07 职场文书