Heim > PHP-Framework > Denken Sie an PHP > 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

藏色散人
Freigeben: 2021-09-12 14:51:44
nach vorne
2713 Leute haben es durchsucht

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'];
    }
 // ...
}
Nach dem Login kopieren

Ü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...
Nach dem Login kopieren
🎜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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage