相关疑难解决方法(0)

doctrine2中的自定义DQL函数

如何在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)

php mysql symfony doctrine-orm php-5.4

5
推荐指数
1
解决办法
2990
查看次数

标签 统计

doctrine-orm ×1

mysql ×1

php ×1

php-5.4 ×1

symfony ×1