NOTE: For legacy PHP support (7.2+) please use the 1.0 branch.
This bundle provides Doctrine support for some specific PostgreSQL 9.4+ features for Symfony projects:
- Support of JSONB and some array data-types (at present only integers, TEXT and JSONB)
- Implementation of the most commonly used functions and operators when working with array and JSON data-types Functions for text search
Libraries used:
Open a command console, enter your project directory and execute:
composer require camelot/doctrine-postgres-bundleOpen a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
composer require camelot/doctrine-postgres-bundleThis command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php file of your project:
// config/bundles.php
return [
// ...
Camelot\DoctrinePostgres\CamelotDoctrinePostgresBundle::class => ['all' => true],
];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
See Common errors when using ILIKE, CONTAINS, IS_CONTAINED_BY and other operator-like functions for tip(s) on using the functions.