symfony 1.4阅读关系1:n学说

时间:2012-01-31 18:19:06

标签: php doctrine symfony-1.4 doctrine-query

我想获得两张桌子的关系。

这是我的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}

是这个方法:* @method Doctrine_Collection getOpcionsFK()返回当前记录的“Opcions_FK”集合

我有这段代码:

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"


}

错误:

public function filterGet(Doctrine_Record $ record,$ name)

{

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

}

}

有人知道什么不运行吗?

由于

此致

2 个答案:

答案 0 :(得分:1)

你用foreign(“K”)和下划线命名foreignAlias“Opcions_FK”的方式可能会混淆Doctrine。尝试直接访问您的Oferta的Opcions_FK:

foreach ($ofertes as $oferta) { 

   echo $oferta->getId();

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

       echo $opcions->getOfertaId();

   } 

}

答案 1 :(得分:0)

@method Doctrine_Collection getOpcionsFK()返回当前记录的“Opcions_FK”集合

<强>尝试:

foreach ($ofertes as $oferta) { 

  echo $oferta->getId();

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

       echo $options-> getOfertaId();
    } 
}