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 !
thinkphp5 ne parvient pas à obtenir le type de champ personnalisé de l'instance Model ?
$proxy->type
Le résultat est []
$proxy->type
得到的结果是 []
空数组
JdProxy.php
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']; } // ... }
thinkphp/library/think/Model.php
thinkModel définit le champ de type et n'ira pas à la méthode magique __getSupposons 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...
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!