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中完成。 –