我搜索了很长时间,但我没有设法在一个查询中检索两个相关对象。我正在使用Doctrine和Symfony(默认使用Doctrine)。
这是我的schema.yml的一部分:
Member:
columns:
...some fields...
Report:
columns:
member: { type: integer, notnull: true }
...some fields...
relations:
Member: { onDelete: CASCADE, local: member, foreign: id, foreignAlias: Members }
这是我的“基本”请求,只能检索报表对象:
public function getReports($place,$max = 5) {
$q = Doctrine_Query::create()
->from('Report sr')
->where('sr.place = ?',$place)
->limit($max)
->orderBy('sr.date DESC');
return $q->execute();
}
某个地方的成员已经提交了一份报告。我需要检索成员对象以显示它的字段,但我真的不知道该怎么做。
如果您有线索或方法可以做到这一点,我将非常感谢您的帮助。
答案 0 :(得分:1)
$q = Doctrine_Query::create()
->from('Report sr')
->innerJoin('sr.Members m');
就是这样,非常简单:)