Доступ к Doctrine-связанному полю из JOIN - PullRequest
0 голосов
/ 22 февраля 2011

Я пытаюсь получить список пользователей, использующих доктрину с объединением, из моей базы данных.В моей модели есть следующая функция:

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.

Ответы [ 2 ]

1 голос
/ 22 февраля 2011

$attendee->getMeeting()->getId(); ИЛИ что-нибудь в этом роде в зависимости от того, как называются ваши отношения / свойства.

1 голос
/ 22 февраля 2011

Я думаю, вы можете сделать это:

$attendee->getMeetings()->getId()

Вы должны использовать псевдоним, определенный в вашем schema.yml (если вы используете symfony) Обычно Doctrine использует этот способ для объединения связанных моделей: model1-> model2-> model3 ...-> getModel2 () -> getModel3 () -> getModel3Field ()

...