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 类型
jsonb
jsonb[]
smallint[]
integer[]
bigint[]
text[]
可用的字符串函数
ALL_OF
ANY_OF
ARRAY_APPEND
ARRAY_CARDINALITY
ARRAY_CAT
ARRAY_DIMENSIONS
ARRAY_LENGTH
ARRAY_NUMBER_OF_DIMENSIONS
ARRAY_PREPEND
ARRAY_REMOVE
ARRAY_REPLACE
ARRAY_TO_JSON
ARRAY_TO_STRING
CAST()
CONTAINS
DATE_PART()
GREATEST
ILIKE
IN_ARRAY
IS_CONTAINED_BY
JSON_ARRAY_LENGTH
JSONB_ARRAY_ELEMENTS
JSONB_ARRAY_ELEMENTS_TEXT
JSONB_ARRAY_LENGTH
JSONB_EACH
JSONB_EACH_TEXT
JSONB_EXISTS
JSONB_INSERT
JSONB_OBJECT_KEYS
JSONB_SET
JSONB_STRIP_NULLS
JSON_EACH
JSON_EACH_TEXT
JSON_GET_FIELD
JSON_GET_FIELD_AS_INTEGER
JSON_GET_FIELD_AS_TEXT
JSON_GET_OBJECT
JSON_GET_OBJECT_AS_TEXT
JSON_OBJECT_KEYS
JSON_STRIP_NULLS
LEAST
MAKE_DATE()
OVERLAPS
STRING_TO_ARRAY
TO_CHAR()
TO_JSON
TO_JSONB
TO_TSQUERY
TO_TSVECTOR
TSMATCH
有关使用 ILIKE、CONTAINS、IS_CONTAINED_BY 以及其他类似函数的常见错误,请参阅 使用提示。