beberlei/doctrineextensions

一组对Doctrine 2进行扩展的组件,增加了对MySQL、Oracle、PostgreSQL和SQLite数据库中可用查询函数的支持。

安装次数 52,231,199

依赖者: 164

建议者: 11

安全性: 0

星标 2,029

关注者: 55

分支: 430

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函数没有提供,或不支持您要传递的参数,请发起pull请求,我们非常乐意接受您的贡献。