chindit / doctrineextensions
Doctrine 2 的扩展集,增加了对 MySQL、Oracle、PostgreSQL 和 SQLite 中可用的附加查询功能的支持。
1.3.2
2023-10-18 10:00 UTC
Requires
- php: ^7.2 || ^8.0
- doctrine/orm: ^2.15
Requires (Dev)
- doctrine/cache: ^1.11
- friendsofphp/php-cs-fixer: ^2.14
- nesbot/carbon: *
- phpunit/phpunit: ^7.0 || ^8.0 || ^9.0
- symfony/yaml: ^4.4 || ^5.3 || ^6.0
- zf1/zend-date: ^1.12
- zf1/zend-registry: ^1.12
This package is auto-updated.
Last update: 2024-09-18 13:35:09 UTC
README
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=dev-master
如果您想运行 phpunit
composer run test
如果您想运行 php-cs-fixer
composer run lint
用法
如果您使用 DoctrineExtensions 与 Symfony,请阅读 如何注册自定义 DQL 函数。
您可以在 此处 找到使用 DoctrineExtensions 自定义 DQL 函数的示例 Symfony 配置。
如果您使用 DoctrineExtensions 独立版,可能需要启动自动加载器
<?php $classLoader = new \Doctrine\Common\ClassLoader('DoctrineExtensions', '/path/to/extensions'); $classLoader->register();
有关更多信息,请参阅 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 函数,请提交拉取请求,我们非常乐意接受您的贡献。