Symfony2 + Doctrine:使用条件语句选择查询

时间:2014-11-26 16:08:59

标签: sql symfony doctrine-orm doctrine symfony-2.3

我想做点什么:

return $qb
        ->select("f, g")
        ->addSelect(" (CASE WHEN (f.type = 'p') THEN 'panel' ELSE 'glass' END) as 'typeLable' ")
        ->from("Win4uAdminBundle:Filling", "f")
        ->join("f.gammes", "g")
        ->andWhere("f.isActive = :active")
        ->andWhere("g.id = :gamme")
        ->setParameter("active", 1)
        ->setParameter("gamme", $gammeId)

但是没有用。错误是:

[Syntax Error] line 0, col 74: Error: Expected Doctrine\ORM\Query\Lexer::T_FROM, got 'typeLable'

目标是选择类型并在查询中翻译它。

谢谢!

1 个答案:

答案 0 :(得分:2)

这只是一个错字,typeLable应该没有引号:

->addSelect(" (CASE WHEN f.type = 'p' THEN 'panel' ELSE 'glass' END) as typeLable ")