beberlei /doctrineextensions

一组扩展,为Doctrine 2添加对MySQL、Oracle、PostgreSQL和SQLite中可用的附加查询函数的支持。

v1.5.0 2024-03-03 17:55 UTC

README

Build Status Build Status Packagist Packagist Packagist Packagist

一组扩展,为Doctrine 2添加对MySQL、Oracle、PostgreSQL和SQLite中可用的函数的支持。

注意:SQLite日期函数以strftime(format, value)的形式实现。SQLite仅支持最常见的格式,所以date_format会将MySQL替换转换为最近的SQLite替换。这意味着date_format(field, '%b %D %Y') -> Jan 1st 2015变为strftime('%m %d %Y', field) -> 01 01 2015

安装

要安装此库,请运行以下命令,您将获得最新版本

composer require beberlei/doctrineextensions

如果您想运行phpunit

composer run test

如果您想运行php-cs-fixer

composer run lint

用法

Symfony

如果您在使用DoctrineExtensions与Symfony一起,请阅读如何注册自定义DQL函数

您可以在此处找到使用DoctrineExtensions自定义DQL函数的示例Symfony配置。

独立

如果您独立使用DoctrineExtensions,您需要在ORM配置中注册自定义函数。有关更多信息,请参阅Doctrine DQL用户定义函数的文档。

备注

  • MySQL中的DATE_ADD在DQL中可用为DATEADD(CURRENT_DATE(), 1, 'DAY')
  • MySQL中的DATE_SUB在DQL中可用为DATESUB(CURRENT_DATE(), 1, 'DAY')
  • MySQL中的IF在DQL中可用为IFELSE(field > 0, 'true', 'false')

故障排除

在此存储库中已禁用问题,如果您需要的自定义DQL函数未提供或不支持您想要传递的参数,请提交拉取请求,我们非常乐意接受您的贡献。