Форма 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, независимо от того, связано ли оно с.

Другие вопросы по тегам