Symfony оставил запрос на присоединение

0

У меня есть следующий запрос, который работает правильно:

$q = $this->createQuery('e')
     ->where('e.Persons_idUser =?', $request)
     ->leftJoin('e.JobTitles jt')
     ->leftJoin('e.EmploymentLevels el');

но когда я повторяю результат и пытаюсь получить доступ к полям из левого соединения:

 foreach ($work as $w){
   echo $w->employername;
   echo $w->jobtitle; // this is from the left join
   echo $w->employmentlevel; // this is from the left join
 }

Появилось следующее сообщение об ошибке:    Неизвестное свойство записи/связанный компонент "jobtitle" в "Experience"

Кто-нибудь понял? Как эхо поле из левого соединения?

  • 1
    Вам нужно будет сделать что-то вроде $w->EmploymentLevels->employmentlevel
  • 0
    Спасибо! Это была моя проблема.
Теги:
symfony1

2 ответа

1
<?php
    foreach ($work as $w){
        echo $w->employername;
        foreach($w->JobTitles as $job){
            echo $job->jobtitle; // this is from the left join
        }
        foreach($w->EmploymentLevels as $employ){
            echo $employ->employmentlevel; // this is from the left join
        }
    }

?>

Это будет работать, так как symfony возвращает массив объектов, а элементы из таблицы join попадают под дочерний массив

0

Решение:

foreach ($work as $w){
 echo $w->employername;
 echo $w->JobTitles->jobtitle; // this is from the left join
 echo $w->EmploymentLevels->employmentlevel; // this is from the left join
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню