如何使用Zend Framework 2在Doctrine 2中添加自定义DQL函数

Sys*_*eak 2 dql doctrine-orm zend-framework2

那个问题几乎在于标题.我已经阅读了文档,而我无法找到的是如何将函数注册到我的ORM配置中.

这里有什么帮助?谢谢!

编辑:好的,我已经按照山姆的说法做了,然后自己上课并注册了

            'numeric_functions' => array(
                'LOG10'  => 'Admin\Model\Log10',
            ),
Run Code Online (Sandbox Code Playgroud)

但是它无法找到类并给出错误

第3322行的C:\ webserver\apache\htdocs\test\vendor\doctrine\orm\lib\Doctrine\ORM\Query\Parser.php中找不到"Admin\Model\Log10"类

知道为什么会这样吗?

Sam*_*Sam 11

实际上@foozy给你的链接就是你所需要的.您只需扩展doctrine配置数组:

return array(
    'doctrine' => array(
        'connection'    => array(
            'orm_default' => array(
                // Foo
            )
        ),
        'configuration' => array(
            'orm_default' => array(
                'numeric_functions' => array(
                    'MD5'  => 'DoctrineExtensions\Query\Mysql\Md5'
                ),
                'datetime_functions' => array(),
                'string_functions'   => array(),
                'metadata_cache'     => 'filesystem',
                'query_cache'        => 'filesystem',
                'result_cache'       => 'filesystem',
            )
        )
    )
);
Run Code Online (Sandbox Code Playgroud)