如何在partials中使用自定义DQL函数来水合查询结果.
寻找在createQuery或任何其他学说方式(nativeSql,QueryBuilder)中使用DQL函数的方法,它不必使用partials但它应该基于表的关系来保持我的数组,它应该只选择选择性字段
以下查询工作正常:
$q = $em->createQuery("select "
. "partial t.{id, description}, "
. "partial ut.{id, firstName, lastName, email}, "
. "DATE_FORMAT(ut.created, '%m-%d-Y') "
. "from PMIUserBundle:Task t LEFT JOIN t.users ut");
Run Code Online (Sandbox Code Playgroud)
DATE_FORMAT(ut.created,'%m-%d-Y')在偏出局部时工作正常.
DATE_FORMAT 已在config.yml中注册为自定义函数
config.yml:
dql:
datetime_functions:
DATE_FORMAT: PMI\UserBundle\DoctrineFunctions\DateFormat
Run Code Online (Sandbox Code Playgroud)
以下查询创建问题:
$q = $em->createQuery("select "
. "partial t.{id, description}, "
. "partial ut.{id, firstName, lastName, email, DATE_FORMAT(created, '%m-%d-Y')}, "
. "DATE_FORMAT(ut.created, '%m-%d-Y') "
. "from PMIUserBundle:Task t LEFT JOIN t.users ut");
Run Code Online (Sandbox Code Playgroud)
给出错误:
[Syntax Error] line 0, col …Run Code Online (Sandbox Code Playgroud)