> PHP 프레임워크 > ThinkPHP > TP5가 모델의 사용자 정의 필드를 가져올 수 없는 문제를 해결합니다.

TP5가 모델의 사용자 정의 필드를 가져올 수 없는 문제를 해결합니다.

藏色散人
풀어 주다: 2021-09-12 14:51:44
앞으로
2713명이 탐색했습니다.

thinkphp Framework튜토리얼 칼럼에서는 TP5가 모델 인스턴스의 사용자 정의 필드 유형을 얻을 수 없는 문제를 소개할 것입니다. 그것이 필요한 친구들에게 도움이 되기를 바랍니다!

TP5가 모델의 사용자 정의 필드를 가져올 수 없는 문제를 해결합니다.

thinkphp5가 모델 인스턴스의 사용자 정의 필드 유형을 가져올 수 없습니까?

$proxy->type 결과는 []$proxy->type 得到的结果是 []

空数组

JdProxy.php

empty 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'];
    }
 // ...
}
로그인 후 복사

상위 클래스 보기 thinkModel

thinkphp/library/think/Model.php

thinkModel은 유형 필드를 정의하고 __get 매직 메서드로 이동하지 않습니다.

__get 메서드로 이동한다고 가정하세요

그런 다음 getAttr 메서드로 이동하세요.

그 다음에는 getData 메소드가 있습니다

그래서 커스텀 모델에 메소드를 추가하여 유형 필드의 값을 가져옵니다🎜
    public function getType() {
         return $this->data['type'];
     }对于一些常见词用来命名需要注意 比如 type, name, class...
로그인 후 복사
🎜이름을 typeName, clazz로 변경할 수 있습니다🎜

위 내용은 TP5가 모델의 사용자 정의 필드를 가져올 수 없는 문제를 해결합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿