0
我在Symfony2中创建表单,我想用自定义查询的结果填充下拉列表。这里是一个示例php代码:Symfony2/Doctrine2 SQL Select条件
<?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 Framework中类似于“new Zend_Db_Expr(...)”的东西。 有没有办法用复杂的SELECT子句创建此查询,并将它作为原生SQL代码输入?
预先感谢您!
是的,我的问题基本上是如何编写IF和CONCAT使用DQL的SELECT子句。如果“IF”在DQL中无效,那么我应该坚持使用PHP逻辑的建议,尽管我认为一般情况下如果在数据库中可以完成某些工作,应该在数据库中完成,而不是在PHP中完成。 –