我想获得两张桌子的关系。
这是我的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)));
}
}
有人知道什么不运行吗?
由于
此致
答案 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();
}
}