在 Symfony 1.4 和 Doctrine 1.2 中,我可以:
$bodies = Doctrine::getTable('Body')->createQuery('b')
->where('b.visible = 1')
->orderBy('LENGTH(b.title) ASC')
->execute();
然后工作正常。
在 Symfony 2 和 Doctrine 2 中,我有:
$bodies = $this->getDoctrine()
->getRepository('MainBodyBundle:Body')
->createQueryBuilder('b')
->where('b.visible = 1')
->orderBy('LENGTH(b.title)', 'ASC')
->getQuery()
->getResults();
但这不起作用,我有错误:
在渲染模板期间引发了异常(“[语法错误] 第 0 行,第 114 列:错误:预期的字符串结尾,在“MainBodyBundle::index.html.twig”中得到 '('")。