camelot / doctrine-postgres-bundle
Pentangle 的 PostgreSQL 特定功能
v2.2.0
2023-05-11 07:42 UTC
Requires
- php: ^7.4 || ^8.0
- ext-pdo_pgsql: *
- doctrine/dbal: ^2.9 || ^3.0
- doctrine/orm: ^2.7 || ^3.0
- martin-georgiev/postgresql-for-doctrine: ^1.5 || ^2
Requires (Dev)
- camelot/coding-style: ^3.0
- dama/doctrine-test-bundle: ^6.2
- doctrine/doctrine-fixtures-bundle: ^3.3
- friendsofphp/php-cs-fixer: ^3.0
- phpunit/phpunit: ^9.5
- psalm/plugin-phpunit: ^0.16
- symfony/dotenv: ^6.0
- symfony/framework-bundle: ^6.0
- symfony/phpunit-bridge: ^6.0
- symfony/yaml: ^6.0
- vimeo/psalm: ^4.17
This package is auto-updated.
Last update: 2024-09-23 08:53:04 UTC
README
注意:对于对旧版 PHP 的支持(7.2+),请使用 1.0 分支。
此包为 Symfony 项目提供对一些特定 PostgreSQL 9.4+ 特性的 Doctrine 支持
- 支持 JSONB 和一些数组数据类型(目前仅限于整数、TEXT 和 JSONB)
- 实现与数组、JSON 数据类型一起使用时最常用的函数和运算符
使用的库
安装
使用 Symfony Flex 的应用程序
打开命令行,进入项目目录,并执行以下命令
composer require camelot/doctrine-postgres-bundle
不使用 Symfony Flex 的应用程序
步骤 1:下载包
打开命令行,进入项目目录,并执行以下命令以下载此包的最新稳定版本
composer require camelot/doctrine-postgres-bundle
此命令要求您全局安装 Composer,如 Composer 文档中的《安装章节》所述。
步骤 2:启用包
然后,通过将其添加到项目 config/bundles.php 文件中注册的包列表中来启用包
// config/bundles.php return [ // ... Camelot\DoctrinePostgres\CamelotDoctrinePostgresBundle::class => ['all' => true], ];
用法
可用的 DBAL 类型
jsonbjsonb[]smallint[]integer[]bigint[]text[]
可用的字符串函数
ALL_OFANY_OFARRAY_APPENDARRAY_CARDINALITYARRAY_CATARRAY_DIMENSIONSARRAY_LENGTHARRAY_NUMBER_OF_DIMENSIONSARRAY_PREPENDARRAY_REMOVEARRAY_REPLACEARRAY_TO_JSONARRAY_TO_STRINGCAST()CONTAINSDATE_PART()GREATESTILIKEIN_ARRAYIS_CONTAINED_BYJSON_ARRAY_LENGTHJSONB_ARRAY_ELEMENTSJSONB_ARRAY_ELEMENTS_TEXTJSONB_ARRAY_LENGTHJSONB_EACHJSONB_EACH_TEXTJSONB_EXISTSJSONB_INSERTJSONB_OBJECT_KEYSJSONB_SETJSONB_STRIP_NULLSJSON_EACHJSON_EACH_TEXTJSON_GET_FIELDJSON_GET_FIELD_AS_INTEGERJSON_GET_FIELD_AS_TEXTJSON_GET_OBJECTJSON_GET_OBJECT_AS_TEXTJSON_OBJECT_KEYSJSON_STRIP_NULLSLEASTMAKE_DATE()OVERLAPSSTRING_TO_ARRAYTO_CHAR()TO_JSONTO_JSONBTO_TSQUERYTO_TSVECTORTSMATCH
有关使用 ILIKE、CONTAINS、IS_CONTAINED_BY 以及其他类似函数的常见错误,请参阅 使用提示。