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」で '('") が取得されました。