模型对象和数据对象理解
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 模型实例化获得数据对象的教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。