我的桌子正在使用翻译模块
// This works fine for 1 item
$o = Doctrine_Core::getTable('myTable')->find(1);
echo $o->getName();
我希望能够运行查询并正确获取名称(位于转换表中)的所有行
$o = Doctring_Core::getTable('myTable').createQuery('a')
->leftJoin('a.Translation t')
->andWhere('a.visible = ?', true)
->andWhere('t.lang = ?', 'en')
->execute();
我希望能够做到
foreach($o as $item) {
echo $item->getName();
}
但我的getName()始终为null ...
答案 0 :(得分:0)
您需要使用$item->Translation->name
,或者您可以创建类似的代理功能:
//lib/model/doctrine/myTable.class.php
function getName() {
return $this->Translation->name;
}
此功能可以像$item->getName()
一样明确调用,也可以通过__get()
隐式调用$item->name
;
我猜你正在使用教条的行为来存储翻译 - 从未使用它,所以你的里程可能会有所不同。