Heim > Artikel > PHP-Framework > Lösen Sie das Problem, dass TP5 die benutzerdefinierten Felder des Modells nicht abrufen kann
thinkphp-FrameworkIn der Tutorial-Spalte wird Ihnen das Problem vorgestellt, dass TP5 den benutzerdefinierten Feldtyp der Modellinstanz nicht abrufen kann. Ich hoffe, dass es für Freunde in Not hilfreich ist!
thinkphp5 kann den benutzerdefinierten Feldtyp der Modellinstanz nicht abrufen?
$proxy->type
Das Ergebnis ist []
$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']; } // ... }Übergeordnete Klasse thinkModel anzeigen
thinkphp/library/think/Model.php
thinkModel definiert das Typfeld und geht nicht zur __get magic-MethodeAngenommen, Sie gehen zur __get-Methode
Dann gehen Sie zur getAttr-Methode
Dann gibt es noch die getData-Methode
Also habe ich im benutzerdefinierten Modell eine Methode hinzugefügt, um den Wert des Typfelds abzurufen🎜public function getType() { return $this->data['type']; }对于一些常见词用来命名需要注意 比如 type, name, class...🎜Sie können den Namen in typeName, clazz🎜 ändern
Das obige ist der detaillierte Inhalt vonLösen Sie das Problem, dass TP5 die benutzerdefinierten Felder des Modells nicht abrufen kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!