我正在尝试从我的数据库中使用带有连接的doctrine来提取用户列表。我的模型中有以下功能:
public function getAttendees() {
$q = Doctrine_Query::create()
->select('a.id, a.name, a.url, m.id')
->from('Attendees a')
->leftJoin('a.Meetings m WITH m.Meeting_Slot_ID = ?', $this->getId());
return $q->execute();
}
我已经检查了这个查询生成的SQL,它正在掠夺我想要的所有数据。我现在正在尝试访问检索到的数据。我有以下工作:
foreach($object0>getAttendees() as $attendee){
echo $attendee->getName();
}
但是,我无法弄清楚如何访问m.id字段。
答案 0 :(得分:1)
我认为你可以这样做:
$attendee->getMeetings()->getId()
您必须使用schema.yml中定义的别名(如果您使用的是symfony) 通常,Doctrine使用这种方式将相关模型链接在一起: model1-> model2-> model3 ...-> getModel2() - > getModel3() - > getModel3Field()
答案 1 :(得分:1)
$attendee->getMeeting()->getId();
或者取决于您如何命名关系/属性。