Symfony2 Doctrine Qb STR_TO_DATE未知功能

R. *_*kan 2 php mysql doctrine symfony doctrine-orm

当我尝试使用Doctrine查询构建器执行STR_TO_DATE mysql函数时,symfony2抛出一个异常,例如:

错误:预期已知函数,得到'STR_TO_DATE'

我的代码是:

STR_TO_DATE(m.metaValue, '%m/%d/%Y') BETWEEN '".$filter["sDate"]["month"]."/01/".$filter["sDate"]["year"]."' AND '".$filter["eDate"]["month"]."/01/".$filter["eDate"]["year"]."'"
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它发挥作用?

Nic*_*ich 8

STR_TO_DATE功能在DQL中不可用.请参阅DQL函数.

但是,您可以通过安装beberlei/DoctrineExtensions并将其添加到您的config.yml:

doctrine:
    orm:
        dql:
            datetime_functions:
                # ...
                strtodate: DoctrineExtensions\Query\Mysql\StrToDate
Run Code Online (Sandbox Code Playgroud)

  • `stof/doctrine-extensions`**`-bundle`**是一个可以轻松地将`gedmo/doctrine-extensions`集成到你的应用程序中的包,而`beberlei/DoctrineExtensions`提供了**附加**DQL函数的类.它们之间没有任何干扰,只要您不配置doctrine实际使用其中某些类,您的应用程序就根本不会使用它们. (2认同)