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

吾爱主题 阅读:156 2021-09-08 15:08:00 评论:0

模型对象和数据对象理解

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

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

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

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

DB操作返回是数组。

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

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 //该对象共计有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 增加或修改参数

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

即可连贯操作

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

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

原文链接:https://blog.csdn.net/qazx123q/article/details/79549649

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容