camelot/doctrine-postgres-bundle

Pentangle 的 PostgreSQL 特定功能

v2.2.0 2023-05-11 07:42 UTC

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 以及其他类似函数的常见错误,请参阅 使用提示