Maison >cadre php >PensezPHP >Résoudre le problème selon lequel TP5 ne peut pas obtenir les champs personnalisés du modèle

Résoudre le problème selon lequel TP5 ne peut pas obtenir les champs personnalisés du modèle

藏色散人
藏色散人avant
2021-09-11 16:00:032664parcourir

thinkphp frameworkLa colonne du didacticiel vous présentera le problème selon lequel TP5 ne peut pas obtenir le type de champ personnalisé de l'instance Model. J'espère que cela sera utile aux amis dans le besoin !

Résoudre le problème selon lequel TP5 ne peut pas obtenir les champs personnalisés du modèle

thinkphp5 ne parvient pas à obtenir le type de champ personnalisé de l'instance Model ?

$proxy->type Le résultat est []$proxy->type 得到的结果是 []

空数组

JdProxy.php

tableau vide

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'];
    }
 // ...
}

Afficher la classe parent thinkModel

thinkphp/library/think/Model.php

thinkModel définit le champ de type et n'ira pas à la méthode magique __get

Supposons que vous accédiez à la méthode __get

Ensuite, accédez à la méthode getAttr

Ensuite, il y a la méthode getData

J'ai donc ajouté une méthode dans le modèle personnalisé pour obtenir la valeur du champ de type🎜
    public function getType() {
         return $this->data['type'];
     }对于一些常见词用来命名需要注意 比如 type, name, class...
🎜Vous pouvez changer le nom en typeName, clazz🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer