• 技术文章 >php框架 >ThinkPHP

    解决TP5取不到Model的自定义字段问题

    藏色散人藏色散人2021-09-12 14:51:44转载134

    thinkphp框架教程栏目将给大家介绍关于TP5取不到Model实例的自定义字段 type的问题,希望对需要的朋友有所帮助!

    thinkphp5 取不到Model实例的 自定义字段 type?

    $proxy->type 得到的结果是 []

    空数组

    JdProxy.php

    namespace app\crm\model;
    
    use think\Model;
    // use app\admin\model\Common as BaseModel;
    
    class JdProxy extends Model {
        protected $table = '5kcrm_crm_district';
    
        protected $pk = 'id';
    
        protected $field = ['id',
            'type',
            'arm_acid',
            'province','city','district',
            'proxyname','manager','gradetype', 'has_updated'];
    
        protected function initialize() {
            parent::initialize();
        }
    
        // 创建时间字段
        protected $createTime = 'created_at';
        // 更新时间字段
        protected $updateTime = 'updated_at';
    
        // 是否需要自动写入时间戳 如果设置为字符串 则表示时间字段的类型
        protected $autoWriteTimestamp = 'datetime';
    
        public function getTable($name = '')
        {
            return parent::getTable($name); // TODO: Change the autogenerated stub
        }
    
        /**
         * type是父级\think\Model的属性
         * 不能直接$this->type
         */
        public function getType() {
            return $this->data['type'];
        }
     // ...
    }

    查看父类 \think\Model

    thinkphp/library/think/Model.php

    \think\Model 定义了type字段 就不会走到 __get魔术方法

    假设走到__get方法

    接下来到getAttr方法

    然后是getData方法

    所以我在自定义的Model中添加方法取得type字段的值

        public function getType() {
             return $this->data['type'];
         }对于一些常见词用来命名需要注意 比如 type, name, class...

    可以改名typeName, clazz

    以上就是解决TP5取不到Model的自定义字段问题的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
    专题推荐:thinkphp5
    上一篇:教你如何使用TP5 taglib自定义标签 下一篇:一文讲解thinkphp5如何进行异步验证邮箱
    线上培训班

    相关文章推荐

    • ThinkPHP5把动态链接库付给变量而导致的执行多条sql数据合并问题• 解析ThinkPHP5如何引入Go AOP和PHP AOP编程• 简析thinkphp5.0域名如何绑定不同模块• thinkphp5整合phpsocketio过程亲自踩的坑!• thinkphp5与laravel的区别是什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网