模型对象和数据对象是什么意思?对象类型转换数组怎样做?
Admin 2021-10-23 群英技术资讯 555 次浏览
模型对象和数据对象是什么意思?其实模型对象和数据对象并不难理解,本文就给大家来简单的介绍一下,另外本文还分享了对象类型转换数组的示例,感兴趣的朋友也可以了解看看。
模型对象和数据对象理解
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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在laravel中,可用“php artisan config:clear”语句清除config缓存,解决env获取不到数据的问题;该问题产生的原因是缓存配置文件通过env函数读取环境变量,可能会导致该读取不到环境变量,所以返回null。
在本篇文章里小编给大家整理了一篇关于php缓存的类型总结及用法,对此有需要的朋友们可以跟着学习下。
区别:1、“5.4版本”再右键和通知中支持了Markdown,而“5.2版本”不支持;2、“5.4版本”在集合中支持高阶消息传递,而“5.2版本”不支持;3、“5.4版本”在广播频道上支持进行路由模型绑定,而“5.2版本”不支持。
一些朋友有遇到laravel访问public目录报错的情况,不知道怎样解决?其实解决这个问题并不难,接下来我们就来看laravel访问public报错的原因及解决方法,需要的朋友可以了解看看。
今天小编就为大家分享一篇关于PHP去除空数组且数组键名重置的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008