Форма Symfony2> Тип поля сущности> построитель запросов> возможен выбор?
У меня есть форма с типом поля сущности.
Внутри этого типа поля сущности у меня есть построитель запросов, потому что я хочу выбрать только некоторые из записей.
Однако я хочу сделать отбор внутри этого построителя запросов, и я не уверен, что это правильный путь:
'query_builder' => function(EntityRepositorty $er) {
$subq = $er->createQueryBuilder()
//cannot select other entity here?
return $er->createQueryBuilder('a')
->leftJoin($subq)
->where('blah blah')
}
Кто-нибудь сталкивался с этой проблемой и каким было их решение?
Левое соединение выглядит примерно так:
LEFT JOIN (select * from `table_c` order by date desc) as c on c.status_id = a.id
1 ответ
Решение
Ваше описание предполагает, что таблица c отображается на таблицу a как отношение один ко многим. Вы должны просто использовать обычные доктрины:
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('c')
->join('c.a', 'a');
}
Вам нужно использовать обычное соединение, потому что левое соединение даст вам все в таблице c, независимо от того, связано ли оно с.