2017-05-19 1 views
0

다음과 같은 문제점이 있습니다. 다른 매핑으로 모델/저장소를 사용할 때 속성 및 값을 얻지 못합니다.TYPO3 6.2 표의 값을 가진 속성을 얻으십시오

테이블 sys_files에서 데이터를 가져 오도록 저장소를 매핑했습니다. 나는 UID을 얻었고, PID도 얻습니다. 불행히도, 나는 다른 어떤 재산이나 가치를 얻지 못합니다.

내 저장소는 sys_files에 매핑 된 단순 리포지토리입니다.

불행히도 orther 속성을 얻지 못했습니다.

고마워요. Greetz

답변

0

당신이 ext_typoscript_setup.txt의 매핑을 정의 있나요?

config.tx_extbase { 
    persistence { 
    classes { 
     Vendor\Package\Domain\Model\MyModel { 
     mapping { 
      tableName = sys_file 
     } 
     } 
    } 
    } 
} 

또한 도메인 모델에 필요한 필드를 지정해야합니다.

1.가 확장 루트 경로에서 ext_typoscript_setup.txt 파일을 만듭니다 당신이 modeltable A를 매핑 할 때

namespace Vendor\Package\Domain\Model; 

class MyModel 
{ 
    /** 
    * @var string 
    */ 
    protected $identifier; 

    public function getIdentifier() 
    { 
    return $this->identifier; 
    } 

    public function setIdentifier($identifier) 
    { 
    $this->identifier = $identifier; 
    } 
} 
+0

안녕하세요, 르네 예. 프로퍼티 매핑이 있습니다. 나는> 3000 모델을 얻는다. null 또는 0이 아닌 유일한 속성은 UID입니다. 모든 uid가 데이터베이스에 있습니다. – PaddaelsM

+0

도메인 모델에서 속성을 정의 했습니까? getter와 setter로? –

+0

잘, 아니. 나는 그것을 할 필요가 없다고 생각했다. 나는 그것을 최대한 빨리 시험 할 것이다! – PaddaelsM

0

은 체크리스트가있다. 설치 도구에서 modelnamespace

3. 캐시 지우기 전에

config.tx_extbase{ 
    persistence { 
     classes { 
      YourModel.mapping{ 
       table = table_you_want_to_map 
      } 
     }  
    } 
} 

backslash를 추가 :

가 다음과 같은 코드를 작성해야합니다. 아무 일도 일어나지 않으면 typo3temp/autoload 폴더를 삭제하십시오.

4. 모델 필드는 camelCase 여야합니다. field

예 : field_name 모델의는 fieldName

5. 확인 모델의 게터 될 것입니다.

+0

안녕하세요, 귀하의 의견을 보내 주셔서 감사합니다. 지시 된대로 기존 setup.txt를 편집했습니다. 내 테이블에서 나는 protected $ identifierHash, getIdentifierHash() 및 setIdentifierHash ($ hash)를 사용하여 액세스하려고하는 "identifier_hash"열을 가지고 있습니다. 값은 여전히 ​​NULL입니다. :/ – PaddaelsM

+0

ext_typoscript_setup.txt 또는 setup.txt에이 구문을 추가 했습니까? 그 파일들은 다르다. –

0

그래, 문제가 해결되었습니다. 해시 값을 가져올 수 없습니다. 왜 그런지는 모르겠지만 그것이 어떤지입니다. "identifier_hash", "folder_hash"를 제외한 각 열의 값을 얻습니다. 이러한 속성은 항상 NULL입니다.

이제 새로운 관계를 추가 할 때 데이터베이스에 새 file_reference 레코드 만 만들어야합니다.

관련 문제