Heim  >  Artikel  >  PHP-Framework  >  Lösen Sie das Problem, dass TP5 die benutzerdefinierten Felder des Modells nicht abrufen kann

Lösen Sie das Problem, dass TP5 die benutzerdefinierten Felder des Modells nicht abrufen kann

藏色散人
藏色散人nach vorne
2021-09-11 16:00:032660Durchsuche

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!

Lösen Sie das Problem, dass TP5 die benutzerdefinierten Felder des Modells nicht abrufen kann

thinkphp5 kann den benutzerdefinierten Feldtyp der Modellinstanz nicht abrufen?

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

空数组

JdProxy.php

leeres Array

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-Methode

Angenommen, 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen