2012-01-31 1 views
1

두 테이블을 가지고 관계를 얻고 싶습니다. 심포니 1.4 읽기 관계 1 : n doctrine

내 schema.yml 파일입니다

Oferta: 
    columns: 
    titol: { type: string(50), notnull: true } 
    sub_titol: { type: text } 
    data_inici: { type: date } 
    data_fi: { type: date } 

Opcions: 
    columns: 
    oferta_id: { type: integer, notnull: true } 
    descripco: { type: string(150), notnull: true } 
    preu: { type: string(20), notnull: flase } 
    relations: 
    Oferta: {onDelete: CASCADE, local: oferta_id, foreign: id, foreignAlias: Opcions_FK} 

(가)이 방법은 다음과 같습니다 * Doctrine_Collection getOpcionsFK()가 현재 레코드의 "Opcions_FK"모음

를 돌려 @method 그리고 나는이 코드를 가지고 :

foreach ($ofertes as $oferta) { 


    echo $oferta->getId(); 
    $opcions = new Opcions(); 
    $opcions = $oferta->getOpcionsFK(); //this line do a error Unknown record property/related component "opcions_fk" on "Oferta" 


} 

오류 :

공개 함수 filterGet (D octrine_Record $ 기록, $ 이름)

{ 

    throw new Doctrine_Record_UnknownPropertyException(sprintf('Unknown record property/related component "%s" on "%s"', $name, get_class($record))); 

} 

}

누군가가 그것을 실행하지 않습니다 알아?

감사

감사

+0

전체 오류를 게시 할 수 있습니까? Gràcies;) –

+0

또한 getOpcionsFK가 자동으로 생성되거나 정의 된 메서드입니까? 너의 정의대로라면, 보여줄 수 있니? –

+0

이 자동 생성됩니다. 덕분에 –

답변

1

당신의 이름을하는 방법 당신의 foreignAlias ​​"Opcions_FK"대문자 (" K ")와 밑줄은 교리를 혼동시킬 수 있습니다. Oferta의 Opcions_FK 속성에 직접 액세스하십시오 :

foreach ($ofertes as $oferta) { 

    echo $oferta->getId(); 

    foreach($oferta->Opcions_FK as $opcions){ 

     echo $opcions->getOfertaId(); 

    } 

} 
0

@method Doctrine_Collection getOpcionsFK() 현재 레코드의 "Opcions_FK"수집에게 반환

시도 :

foreach ($ofertes as $oferta) { 

    echo $oferta->getId(); 

    foreach($oferta->getOpcionsFK() as $options){ 

     echo $options-> getOfertaId(); 
    } 
}