感谢你来到这里
我真的很激动
盼望,能有你的支持
捐赠可扫描二维码转账支付

支付宝扫一扫付款

微信扫一扫付款
(微信为保护隐私,不显示你的昵称)
Doctrine允许你指定自定义的DQL函数。有关此主题的更多信息,请阅读Doctrine的cookbook“DQL用户定义函数”的文章。
在symfony中,你可以按照下面的方式,注册你的自定义DQL函数:
1 2 3 4 5 6 7 8 9 10 11 12 | # app/config/config.yml
doctrine:
orm:
# ...
dql:
string_functions:
test_string: AppBundle\DQL\StringFunction
second_string: AppBundle\DQL\SecondStringFunction
numeric_functions:
test_numeric: AppBundle\DQL\NumericFunction
datetime_functions:
test_datetime: AppBundle\DQL\DatetimeFunction |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!-- app/config/config.xml -->
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:doctrine="http://symfony.com/schema/dic/doctrine"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/doctrine http://symfony.com/schema/dic/doctrine/doctrine-1.0.xsd">
<doctrine:config>
<doctrine:orm>
<!-- ... -->
<doctrine:dql>
<doctrine:string-function name="test_string">AppBundle\DQL\StringFunction</doctrine:string-function>
<doctrine:string-function name="second_string">AppBundle\DQL\SecondStringFunction</doctrine:string-function>
<doctrine:numeric-function name="test_numeric">AppBundle\DQL\NumericFunction</doctrine:numeric-function>
<doctrine:datetime-function name="test_datetime">AppBundle\DQL\DatetimeFunction</doctrine:datetime-function>
</doctrine:dql>
</doctrine:orm>
</doctrine:config>
</container> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | // app/config/config.php
$container->loadFromExtension('doctrine', array(
'orm' => array(
// ...
'dql' => array(
'string_functions' => array(
'test_string' => 'AppBundle\DQL\StringFunction',
'second_string' => 'AppBundle\DQL\SecondStringFunction',
),
'numeric_functions' => array(
'test_numeric' => 'AppBundle\DQL\NumericFunction',
),
'datetime_functions' => array(
'test_datetime' => 'AppBundle\DQL\DatetimeFunction',
),
),
),
)); |
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。