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

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

Sep 11, 2021 pm 04:00 PM
thinkphp5

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Pagoda에 thinkphp5를 배포할 때 오류가 발생하면 어떻게 해야 합니까? Pagoda에 thinkphp5를 배포할 때 오류가 발생하면 어떻게 해야 합니까? Dec 19, 2022 am 11:04 AM

Pagoda에 thinkphp5를 배포할 때 보고된 오류에 대한 해결 방법: 1. Pagoda 서버를 열고 php pathinfo 확장을 설치하고 활성화합니다. 2. "RewriteRule ^(.*)$ index.php 콘텐츠로 ".access" 파일을 구성합니다. ?s=/$1 [QSA ,PT,L]”; 3. 웹사이트 관리에서 thinkphp의 pseudo-static을 활성화하면 됩니다.

thinkphp5 URL 재작성이 실패하면 어떻게 해야 합니까? thinkphp5 URL 재작성이 실패하면 어떻게 해야 합니까? Dec 12, 2022 am 09:31 AM

thinkphp5 URL 재작성이 작동하지 않는 해결 방법: 1. mod_rewrite.so 모듈이 httpd.conf 구성 파일에 로드되었는지 확인합니다. 2. AllowOverride None에서 None을 All로 변경합니다. 3. Apache 구성 파일 .htaccess를 "RewriteRule ^ (.*)$ index.php [L,E=PATH_INFO:$1]" 하고 저장하세요.

thinkphp5에서 요청된 URL을 얻는 방법 thinkphp5에서 요청된 URL을 얻는 방법 Dec 20, 2022 am 09:48 AM

요청된 URL을 얻는 thinkphp5의 방법: 1. 현재 URL 정보를 얻기 위해 "\think\Request" 클래스의 "$request = Request::instance();" 방법을 사용합니다. 도메인 이름을 포함한 전체 URL 주소를 얻으려면 "$request-> url()" 함수를 사용하세요.

thinkphp5 제목 표시줄 아이콘을 제거하는 방법 thinkphp5 제목 표시줄 아이콘을 제거하는 방법 Dec 20, 2022 am 09:24 AM

thinkphp5 제목 표시줄 아이콘을 제거하는 방법: 1. thinkphp5 프레임워크 공개에서 favicon.ico 파일을 찾습니다. 2. 파일을 삭제하거나 다른 사진을 선택하여 이름을 favicon.ico로 바꾸고 원본 favicon.ico 파일을 대체합니다.

thinkphp5 게시물이 값을 얻을 수 없으면 어떻게 해야 합니까? thinkphp5 게시물이 값을 얻을 수 없으면 어떻게 해야 합니까? Dec 06, 2022 am 09:29 AM

thinkphp5 게시물은 TP5가 strpos 함수를 사용하여 헤더의 콘텐츠 유형 값에서 app/json 문자열을 찾기 때문에 값을 얻을 수 없습니다. 해결 방법은 헤더의 콘텐츠 유형 값을 app/json으로 설정하는 것입니다.

thinkphp5에서 컨트롤러가 존재하지 않는다는 메시지가 표시되면 어떻게 해야 합니까? thinkphp5에서 컨트롤러가 존재하지 않는다는 메시지가 표시되면 어떻게 해야 합니까? Dec 06, 2022 am 10:43 AM

컨트롤러가 존재하지 않는다고 메시지를 표시하는 thinkphp5에 대한 해결 방법: 1. 해당 컨트롤러의 네임스페이스가 올바르게 작성되었는지 확인하고 올바른 네임스페이스로 변경합니다. 2. 해당 tp 파일을 열고 클래스 이름을 수정합니다.

ThinkPHP5에서 어제의 데이터를 쿼리하는 방법 ThinkPHP5에서 어제의 데이터를 쿼리하는 방법 Dec 05, 2022 am 09:20 AM

ThinkPHP5에서 어제의 데이터를 쿼리하는 방법: 1. ThinkPHP5 관련 파일을 엽니다. 2. "db('table')->whereTime('c_time', 'yesterday')->select();" 표현식을 통해 어제의 데이터를 쿼리할 수 있습니다. .

thinkphp5에서 오류 프롬프트를 설정하는 방법 thinkphp5에서 오류 프롬프트를 설정하는 방법 Dec 07, 2022 am 10:31 AM

thinkphp5에서 오류 프롬프트를 설정하는 방법: 1. 프로젝트 루트 디렉터리에 있는 public 폴더를 입력하고 index.php 항목 파일을 엽니다. 2. 디버그 모드 스위치에 대한 설명을 봅니다. 3. "APP_DEBUG" 상수 값을 조정합니다. 오류 메시지 프롬프트를 표시하려면 true로 설정합니다.

See all articles