DQL Symfony 2,设置布尔值

DQL Symfony 2,设置布尔值,symfony,doctrine-orm,dql,Symfony,Doctrine Orm,Dql,我对DQL Symfony 2有一个问题,我想在select中设置第一个值。这个值是布尔值,但我不能这样做。这是我的代码: public function findAllMenuListForMenuGroup(){ $query = $this->getEntityManager() ->createQueryBuilder() ->select('a.id, a.lft, a.lvl, a.rgt, a.name, a.tit

我对DQL Symfony 2有一个问题,我想在select中设置第一个值。这个值是布尔值,但我不能这样做。这是我的代码:

    public function findAllMenuListForMenuGroup(){
    $query = $this->getEntityManager()
        ->createQueryBuilder()
        ->select('a.id, a.lft, a.lvl, a.rgt, a.name, a.title, true as value, a.description')
        ->from(Menu::class,'a')
        ->orderBy('a.root, a.lft','ASC')
        ->getQuery();
    return $query->getArrayResult();
}
这段代码是错误的,但我不知道有什么问题,看着代码“真如值”,我觉得有问题,有人能帮我吗

错误是:


[语法错误]第0行第51列:错误:应为IdentificationVariable |ScalarExpression |聚合Expression |函数声明| PartialObjectExpression |“(“子选择”)“| CaseExpression,获取 “真的”


条令使用自己的别名。这里不能用“as”

试一试

1 as value 
而不是

true as value
也许你必须用“字符”括起来

此外,您需要使用addOrderBy而不是orderBy,如下所示:

    ->addOrderBy('a.root','ASC')
    ->addOrderBy('a.lft','ASC')
而不是:

    ->orderBy('a.root, a.lft','ASC')
希望这些帮助不要在DQL中使用。
向始终返回
true
的对象添加一个方法。然后从DQL中删除
select

是否可以发布错误消息?使用orderby方法一次只能指定一个字段。可以使用addorderby方法添加另一个字段[语法错误]第0行,第51列:错误:预期的标识变量| ScalarExpression | aggregateeexpression |函数声明| PartialObjectExpression |“(“Subselect”)”| case expression,得到'true'我可以得到您的实体吗?是'true'吗“财产?我认为这是不受支持的。您始终可以使用条令运行原始sql。您的建议有效,但我得到的类型数据是字符串而不是布尔值。我需要一个booleanhi@RachmatChang,我们的函数没有
?我只是尝试使用“”,而没有使用“”,结果仍然是String@matteoplese请给我一个示例公共函数getFoo(){return true;}
    ->addOrderBy('a.root','ASC')
    ->addOrderBy('a.lft','ASC')
    ->orderBy('a.root, a.lft','ASC')