Я создаю форму в Symfony2, и я хотел бы заполнить выпадающий список результатами пользовательского запроса. Вот пример кода php:Symfony2/Doctrine2 SQL Select Clause with Condition
<?php
public function buildForm(FormBuilder $builder, array $options)
{
$builder
//...
->add('type', 'entity', array(
'class' => 'EventBundle:Event',
'query_builder' => function (EntityRepository $er) {
return $er
->createQueryBuilder('e')
->add('select', 'e.id, CONCAT(IF (e.modified > NOW(), "Pending: ", ""), e.name) as name')
;
}
))
;
}
?>
Я не могу найти способ установить это предложение SELECT. Я ищу что-то похожее на «новый Zend_Db_Expr (...)» в Zend Framework. Есть ли способ добиться создания этого запроса с помощью сложного предложения SELECT withoug, набирая его как собственный код SQL?
Спасибо заранее!
Да, мой вопрос заключается в основном, как писать IF и CONCAT в ЗЕЬЕСТ с помощью DQL. Если «IF» недействительно в DQL, тогда я должен придерживаться вашего предположения об использовании PHP-логики, хотя, по моему мнению, в целом, если что-то можно сделать в базе данных, это должно быть сделано в базе данных, а не в PHP. –