模型对象和数据对象是什么意思?对象类型转换数组怎样做?
Admin 2021-10-23 群英技术资讯 1140 次浏览
模型对象和数据对象是什么意思?其实模型对象和数据对象并不难理解,本文就给大家来简单的介绍一下,另外本文还分享了对象类型转换数组的示例,感兴趣的朋友也可以了解看看。
模型对象和数据对象理解
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()
现在大家对“模型对象和数据对象是什么意思”应该都有所了解了,上述示例有一定的借鉴价值,有需要的朋友可以参考,希望对大家学习php有帮助,想要了解更多大家可以关注群英网络其它相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php代码如何调试?对PHP代码进行调试可以说是一名程序员必须掌握掌握度的,那么究竟php代码调试包括哪些呢?都有哪些方法?下面我们一起来看一下。
在thinkphp5中,MVC分层指的是模型层、视图层和控制器层分工合作,逻辑层和表现层进行分开的操作;模型层负责数据库操作,控制器就是一个模块类,根据url进行调度和操作,视图用于连接action控制器和模板文件。
对于如下二维数组,要求对其进行去重: $arr=array('0'=>array('name'=>'james','age'=>30,),'1'=>array('name'=
php7提示500错误的解决办法:1、找到Visual Studio2015和2017以及2019三合一的安装包;2、根据自己系统的版本选择,并下载安装即可。
php高并发处理:1、应用程序与静态资源的分离。2、使用由应用程序生成的页面缓存。3、群集、多个服务器功能相同,主要起分流作用。4、反向代理。5、CDN。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008