我有关于DQL Symfony 2的问题,我想在我的select中设置第一个值。值是布尔值,但我不能这样做。这是我的代码:
Module2SaveService
这段代码是错误但我不知道问题,看看代码“真如价值”,我觉得有问题,有人可以帮助我吗?
错误是:
[语法错误]第0行,第51栏:错误:预期的IdentificationVariable | ScalarExpression | AggregateExpression |功能声明| PartialObjectExpression | “(”Subselect“)”| CaseExpression,得到了 '真正的'
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 :(得分:1)
Doctrine使用它自己的别名。您不能使用"作为"这里。
$query = $this->getEntityManager()
->createQueryBuilder()
->select('a.id, a.lft, a.lvl, a.rgt, a.name, a.title, a.true, a.description')
->from(Menu::class,'a')
->orderBy('a.root,'ASC')
->orderBy('a.lft,'ASC')
->getQuery();
return $query->getArrayResult();
答案 1 :(得分:0)
尝试
1 as value
而不是
true as value
可能你必须附上“字符。
此外,您需要使用addOrderBy而不是orderBy,如下所示:
->addOrderBy('a.root','ASC')
->addOrderBy('a.lft','ASC')
而不是:
->orderBy('a.root, a.lft','ASC')
希望这个帮助
答案 2 :(得分:0)
不要在DQL中这样做。
向始终返回someIds
的对象添加方法。然后从您的DQL中删除true
。