Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Postgresql For Doctrine Laravel Package

martin-georgiev/postgresql-for-doctrine

Adds PostgreSQL-specific power to Doctrine DBAL/ORM: rich native types (jsonb, arrays, ranges, network, geometric, etc.) plus DQL functions/operators for JSON and array querying. Supports PostgreSQL 9.4+ and PHP 8.2+.

View on GitHub
Deep Wiki
Context7

Integration with Symfony

This guide covers integration with Symfony 6.4+ and 7.x using the DoctrineBundle.

Register DBAL Types

Register the DBAL types you plan to use. The full set of available types can be found in AVAILABLE-TYPES.md.

# config/packages/doctrine.yaml
doctrine:
    dbal:
        types:
            # Binary types
            bytea: MartinGeorgiev\Doctrine\DBAL\Types\Bytea
            'bytea[]': MartinGeorgiev\Doctrine\DBAL\Types\ByteaArray

            # Bit types
            bit: MartinGeorgiev\Doctrine\DBAL\Types\Bit
            'bit[]': MartinGeorgiev\Doctrine\DBAL\Types\BitArray
            'bit varying': MartinGeorgiev\Doctrine\DBAL\Types\BitVarying
            'bit varying[]': MartinGeorgiev\Doctrine\DBAL\Types\BitVaryingArray

            # Array types
            'bool[]': MartinGeorgiev\Doctrine\DBAL\Types\BooleanArray
            'smallint[]': MartinGeorgiev\Doctrine\DBAL\Types\SmallIntArray
            'integer[]': MartinGeorgiev\Doctrine\DBAL\Types\IntegerArray
            'bigint[]': MartinGeorgiev\Doctrine\DBAL\Types\BigIntArray
            'double precision[]': MartinGeorgiev\Doctrine\DBAL\Types\DoublePrecisionArray
            'real[]': MartinGeorgiev\Doctrine\DBAL\Types\RealArray
            'text[]': MartinGeorgiev\Doctrine\DBAL\Types\TextArray
            'uuid[]': MartinGeorgiev\Doctrine\DBAL\Types\UuidArray

            # Date and time types
            'date[]': MartinGeorgiev\Doctrine\DBAL\Types\DateArray
            interval: MartinGeorgiev\Doctrine\DBAL\Types\Interval
            'interval[]': MartinGeorgiev\Doctrine\DBAL\Types\IntervalArray
            'timestamp[]': MartinGeorgiev\Doctrine\DBAL\Types\TimestampArray
            'timestamptz[]': MartinGeorgiev\Doctrine\DBAL\Types\TimestampTzArray
            timetz: MartinGeorgiev\Doctrine\DBAL\Types\Timetz
            'timetz[]': MartinGeorgiev\Doctrine\DBAL\Types\TimetzArray

            # JSON types
            jsonb: MartinGeorgiev\Doctrine\DBAL\Types\Jsonb
            'jsonb[]': MartinGeorgiev\Doctrine\DBAL\Types\JsonbArray

            # Network types
            cidr: MartinGeorgiev\Doctrine\DBAL\Types\Cidr
            'cidr[]': MartinGeorgiev\Doctrine\DBAL\Types\CidrArray
            inet: MartinGeorgiev\Doctrine\DBAL\Types\Inet
            'inet[]': MartinGeorgiev\Doctrine\DBAL\Types\InetArray
            macaddr: MartinGeorgiev\Doctrine\DBAL\Types\Macaddr
            'macaddr[]': MartinGeorgiev\Doctrine\DBAL\Types\MacaddrArray
            macaddr8: MartinGeorgiev\Doctrine\DBAL\Types\Macaddr8
            'macaddr8[]': MartinGeorgiev\Doctrine\DBAL\Types\Macaddr8Array

            # Geometric types
            box: MartinGeorgiev\Doctrine\DBAL\Types\Box
            'box[]': MartinGeorgiev\Doctrine\DBAL\Types\BoxArray
            circle: MartinGeorgiev\Doctrine\DBAL\Types\Circle
            'circle[]': MartinGeorgiev\Doctrine\DBAL\Types\CircleArray
            line: MartinGeorgiev\Doctrine\DBAL\Types\Line
            'line[]': MartinGeorgiev\Doctrine\DBAL\Types\LineArray
            lseg: MartinGeorgiev\Doctrine\DBAL\Types\Lseg
            'lseg[]': MartinGeorgiev\Doctrine\DBAL\Types\LsegArray
            path: MartinGeorgiev\Doctrine\DBAL\Types\Path
            'path[]': MartinGeorgiev\Doctrine\DBAL\Types\PathArray
            point: MartinGeorgiev\Doctrine\DBAL\Types\Point
            'point[]': MartinGeorgiev\Doctrine\DBAL\Types\PointArray
            polygon: MartinGeorgiev\Doctrine\DBAL\Types\Polygon
            'polygon[]': MartinGeorgiev\Doctrine\DBAL\Types\PolygonArray

            # PostGIS spatial types
            geometry: MartinGeorgiev\Doctrine\DBAL\Types\Geometry
            'geometry[]': MartinGeorgiev\Doctrine\DBAL\Types\GeometryArray
            geography: MartinGeorgiev\Doctrine\DBAL\Types\Geography
            'geography[]': MartinGeorgiev\Doctrine\DBAL\Types\GeographyArray

            # Range types
            daterange: MartinGeorgiev\Doctrine\DBAL\Types\DateRange
            'daterange[]': MartinGeorgiev\Doctrine\DBAL\Types\DateRangeArray
            int4range: MartinGeorgiev\Doctrine\DBAL\Types\Int4Range
            'int4range[]': MartinGeorgiev\Doctrine\DBAL\Types\Int4RangeArray
            int8range: MartinGeorgiev\Doctrine\DBAL\Types\Int8Range
            'int8range[]': MartinGeorgiev\Doctrine\DBAL\Types\Int8RangeArray
            numrange: MartinGeorgiev\Doctrine\DBAL\Types\NumRange
            'numrange[]': MartinGeorgiev\Doctrine\DBAL\Types\NumRangeArray
            tsrange: MartinGeorgiev\Doctrine\DBAL\Types\TsRange
            'tsrange[]': MartinGeorgiev\Doctrine\DBAL\Types\TsRangeArray
            tstzrange: MartinGeorgiev\Doctrine\DBAL\Types\TstzRange
            'tstzrange[]': MartinGeorgiev\Doctrine\DBAL\Types\TstzRangeArray

            # Multirange types
            datemultirange: MartinGeorgiev\Doctrine\DBAL\Types\DateMultirange
            'datemultirange[]': MartinGeorgiev\Doctrine\DBAL\Types\DateMultirangeArray
            int4multirange: MartinGeorgiev\Doctrine\DBAL\Types\Int4Multirange
            'int4multirange[]': MartinGeorgiev\Doctrine\DBAL\Types\Int4MultirangeArray
            int8multirange: MartinGeorgiev\Doctrine\DBAL\Types\Int8Multirange
            'int8multirange[]': MartinGeorgiev\Doctrine\DBAL\Types\Int8MultirangeArray
            nummultirange: MartinGeorgiev\Doctrine\DBAL\Types\NumMultirange
            'nummultirange[]': MartinGeorgiev\Doctrine\DBAL\Types\NumMultirangeArray
            tsmultirange: MartinGeorgiev\Doctrine\DBAL\Types\TsMultirange
            'tsmultirange[]': MartinGeorgiev\Doctrine\DBAL\Types\TsMultirangeArray
            tstzmultirange: MartinGeorgiev\Doctrine\DBAL\Types\TstzMultirange
            'tstzmultirange[]': MartinGeorgiev\Doctrine\DBAL\Types\TstzMultirangeArray

            # Case-insensitive text types
            citext: MartinGeorgiev\Doctrine\DBAL\Types\Citext
            'citext[]': MartinGeorgiev\Doctrine\DBAL\Types\CitextArray

            # Text search types
            tsquery: MartinGeorgiev\Doctrine\DBAL\Types\Tsquery
            'tsquery[]': MartinGeorgiev\Doctrine\DBAL\Types\TsqueryArray
            tsvector: MartinGeorgiev\Doctrine\DBAL\Types\Tsvector
            'tsvector[]': MartinGeorgiev\Doctrine\DBAL\Types\TsvectorArray

            # Monetary types
            money: MartinGeorgiev\Doctrine\DBAL\Types\Money
            'money[]': MartinGeorgiev\Doctrine\DBAL\Types\MoneyArray

            # Key-value types
            hstore: MartinGeorgiev\Doctrine\DBAL\Types\Hstore
            'hstore[]': MartinGeorgiev\Doctrine\DBAL\Types\HstoreArray

            # Hierarchical types
            ltree: MartinGeorgiev\Doctrine\DBAL\Types\Ltree
            'ltree[]': MartinGeorgiev\Doctrine\DBAL\Types\LtreeArray

            # XML types
            xml: MartinGeorgiev\Doctrine\DBAL\Types\Xml
            'xml[]': MartinGeorgiev\Doctrine\DBAL\Types\XmlArray

            # Vector types
            halfvec: MartinGeorgiev\Doctrine\DBAL\Types\Halfvec
            sparsevec: MartinGeorgiev\Doctrine\DBAL\Types\Sparsevec
            vector: MartinGeorgiev\Doctrine\DBAL\Types\Vector

User-defined enum types: For each PostgreSQL native ENUM type, create a concrete class extending MartinGeorgiev\Doctrine\DBAL\Types\Enum and register it like the examples above. See ENUM-TYPE.md for a full example.

Configure Type Mappings

Add mapping between DBAL and PostgreSQL data types. PostgreSQL normally prefixes array data-types with _. Note the PostgreSQL-specific naming for integers (int2, int4, int8).

# config/packages/doctrine.yaml
doctrine:
    dbal:
        connections:
            default:
                mapping_types:
                    # Binary type mappings
                    bytea: !php/const MartinGeorgiev\Doctrine\DBAL\Type::BYTEA
                    'bytea[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::BYTEA_ARRAY
                    _bytea: !php/const MartinGeorgiev\Doctrine\DBAL\Type::BYTEA_ARRAY

                    # Bit type mappings
                    bit: !php/const MartinGeorgiev\Doctrine\DBAL\Type::BIT
                    'bit[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::BIT_ARRAY
                    _bit: !php/const MartinGeorgiev\Doctrine\DBAL\Type::BIT_ARRAY
                    'bit varying': !php/const MartinGeorgiev\Doctrine\DBAL\Type::BIT_VARYING
                    varbit: !php/const MartinGeorgiev\Doctrine\DBAL\Type::BIT_VARYING
                    'bit varying[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::BIT_VARYING_ARRAY
                    _varbit: !php/const MartinGeorgiev\Doctrine\DBAL\Type::BIT_VARYING_ARRAY

                    # Array type mappings
                    'bool[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::BOOL_ARRAY
                    _bool: !php/const MartinGeorgiev\Doctrine\DBAL\Type::BOOL_ARRAY
                    'smallint[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::SMALLINT_ARRAY
                    _int2: !php/const MartinGeorgiev\Doctrine\DBAL\Type::SMALLINT_ARRAY
                    'integer[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::INTEGER_ARRAY
                    _int4: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INTEGER_ARRAY
                    'bigint[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::BIGINT_ARRAY
                    _int8: !php/const MartinGeorgiev\Doctrine\DBAL\Type::BIGINT_ARRAY
                    'double precision[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::DOUBLE_PRECISION_ARRAY
                    _float8: !php/const MartinGeorgiev\Doctrine\DBAL\Type::DOUBLE_PRECISION_ARRAY
                    'real[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::REAL_ARRAY
                    _float4: !php/const MartinGeorgiev\Doctrine\DBAL\Type::REAL_ARRAY
                    'text[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::TEXT_ARRAY
                    _text: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TEXT_ARRAY
                    'uuid[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::UUID_ARRAY
                    _uuid: !php/const MartinGeorgiev\Doctrine\DBAL\Type::UUID_ARRAY

                    # Case-insensitive text type mappings
                    citext: !php/const MartinGeorgiev\Doctrine\DBAL\Type::CITEXT
                    'citext[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::CITEXT_ARRAY
                    _citext: !php/const MartinGeorgiev\Doctrine\DBAL\Type::CITEXT_ARRAY

                    # Datetime array type mappings
                    'date[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::DATE_ARRAY
                    _date: !php/const MartinGeorgiev\Doctrine\DBAL\Type::DATE_ARRAY
                    interval: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INTERVAL
                    'interval[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::INTERVAL_ARRAY
                    _interval: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INTERVAL_ARRAY
                    'timestamp[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::TIMESTAMP_ARRAY
                    _timestamp: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TIMESTAMP_ARRAY
                    'timestamptz[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::TIMESTAMPTZ_ARRAY
                    _timestamptz: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TIMESTAMPTZ_ARRAY
                    timetz: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TIMETZ
                    'timetz[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::TIMETZ_ARRAY
                    _timetz: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TIMETZ_ARRAY

                    # JSON type mappings
                    jsonb: !php/const MartinGeorgiev\Doctrine\DBAL\Type::JSONB
                    'jsonb[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::JSONB_ARRAY
                    _jsonb: !php/const MartinGeorgiev\Doctrine\DBAL\Type::JSONB_ARRAY

                    # Network type mappings
                    cidr: !php/const MartinGeorgiev\Doctrine\DBAL\Type::CIDR
                    'cidr[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::CIDR_ARRAY
                    _cidr: !php/const MartinGeorgiev\Doctrine\DBAL\Type::CIDR_ARRAY
                    inet: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INET
                    'inet[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::INET_ARRAY
                    _inet: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INET_ARRAY
                    macaddr: !php/const MartinGeorgiev\Doctrine\DBAL\Type::MACADDR
                    'macaddr[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::MACADDR_ARRAY
                    _macaddr: !php/const MartinGeorgiev\Doctrine\DBAL\Type::MACADDR_ARRAY
                    macaddr8: !php/const MartinGeorgiev\Doctrine\DBAL\Type::MACADDR8
                    'macaddr8[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::MACADDR8_ARRAY
                    _macaddr8: !php/const MartinGeorgiev\Doctrine\DBAL\Type::MACADDR8_ARRAY

                    # Geometric type mappings
                    box: !php/const MartinGeorgiev\Doctrine\DBAL\Type::BOX
                    'box[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::BOX_ARRAY
                    _box: !php/const MartinGeorgiev\Doctrine\DBAL\Type::BOX_ARRAY
                    circle: !php/const MartinGeorgiev\Doctrine\DBAL\Type::CIRCLE
                    'circle[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::CIRCLE_ARRAY
                    _circle: !php/const MartinGeorgiev\Doctrine\DBAL\Type::CIRCLE_ARRAY
                    line: !php/const MartinGeorgiev\Doctrine\DBAL\Type::LINE
                    'line[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::LINE_ARRAY
                    _line: !php/const MartinGeorgiev\Doctrine\DBAL\Type::LINE_ARRAY
                    lseg: !php/const MartinGeorgiev\Doctrine\DBAL\Type::LSEG
                    'lseg[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::LSEG_ARRAY
                    _lseg: !php/const MartinGeorgiev\Doctrine\DBAL\Type::LSEG_ARRAY
                    path: !php/const MartinGeorgiev\Doctrine\DBAL\Type::PATH
                    'path[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::PATH_ARRAY
                    _path: !php/const MartinGeorgiev\Doctrine\DBAL\Type::PATH_ARRAY
                    point: !php/const MartinGeorgiev\Doctrine\DBAL\Type::POINT
                    'point[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::POINT_ARRAY
                    _point: !php/const MartinGeorgiev\Doctrine\DBAL\Type::POINT_ARRAY
                    polygon: !php/const MartinGeorgiev\Doctrine\DBAL\Type::POLYGON
                    'polygon[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::POLYGON_ARRAY
                    _polygon: !php/const MartinGeorgiev\Doctrine\DBAL\Type::POLYGON_ARRAY

                    # PostGIS spatial type mappings
                    geometry: !php/const MartinGeorgiev\Doctrine\DBAL\Type::GEOMETRY
                    'geometry[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::GEOMETRY_ARRAY
                    _geometry: !php/const MartinGeorgiev\Doctrine\DBAL\Type::GEOMETRY_ARRAY
                    geography: !php/const MartinGeorgiev\Doctrine\DBAL\Type::GEOGRAPHY
                    'geography[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::GEOGRAPHY_ARRAY
                    _geography: !php/const MartinGeorgiev\Doctrine\DBAL\Type::GEOGRAPHY_ARRAY

                    # Range type mappings
                    daterange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::DATERANGE
                    'daterange[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::DATERANGE_ARRAY
                    _daterange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::DATERANGE_ARRAY
                    int4range: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INT4RANGE
                    'int4range[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::INT4RANGE_ARRAY
                    _int4range: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INT4RANGE_ARRAY
                    int8range: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INT8RANGE
                    'int8range[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::INT8RANGE_ARRAY
                    _int8range: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INT8RANGE_ARRAY
                    numrange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::NUMRANGE
                    'numrange[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::NUMRANGE_ARRAY
                    _numrange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::NUMRANGE_ARRAY
                    tsrange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSRANGE
                    'tsrange[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSRANGE_ARRAY
                    _tsrange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSRANGE_ARRAY
                    tstzrange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSTZRANGE
                    'tstzrange[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSTZRANGE_ARRAY
                    _tstzrange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSTZRANGE_ARRAY

                    # Multirange type mappings
                    datemultirange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::DATEMULTIRANGE
                    _datemultirange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::DATEMULTIRANGE_ARRAY
                    'datemultirange[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::DATEMULTIRANGE_ARRAY
                    int4multirange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INT4MULTIRANGE
                    'int4multirange[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::INT4MULTIRANGE_ARRAY
                    _int4multirange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INT4MULTIRANGE_ARRAY
                    int8multirange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INT8MULTIRANGE
                    'int8multirange[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::INT8MULTIRANGE_ARRAY
                    _int8multirange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::INT8MULTIRANGE_ARRAY
                    nummultirange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::NUMMULTIRANGE
                    'nummultirange[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::NUMMULTIRANGE_ARRAY
                    _nummultirange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::NUMMULTIRANGE_ARRAY
                    tsmultirange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSMULTIRANGE
                    'tsmultirange[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSMULTIRANGE_ARRAY
                    _tsmultirange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSMULTIRANGE_ARRAY
                    tstzmultirange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSTZMULTIRANGE
                    'tstzmultirange[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSTZMULTIRANGE_ARRAY
                    _tstzmultirange: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSTZMULTIRANGE_ARRAY

                    # Text search type mappings
                    tsquery: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSQUERY
                    'tsquery[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSQUERY_ARRAY
                    _tsquery: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSQUERY_ARRAY
                    tsvector: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSVECTOR
                    'tsvector[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSVECTOR_ARRAY
                    _tsvector: !php/const MartinGeorgiev\Doctrine\DBAL\Type::TSVECTOR_ARRAY

                    # Monetary type mappings
                    money: !php/const MartinGeorgiev\Doctrine\DBAL\Type::MONEY
                    'money[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::MONEY_ARRAY
                    _money: !php/const MartinGeorgiev\Doctrine\DBAL\Type::MONEY_ARRAY

                    # Key-value type mappings
                    hstore: !php/const MartinGeorgiev\Doctrine\DBAL\Type::HSTORE
                    'hstore[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::HSTORE_ARRAY
                    _hstore: !php/const MartinGeorgiev\Doctrine\DBAL\Type::HSTORE_ARRAY

                    # Hierarchical type mappings
                    ltree: !php/const MartinGeorgiev\Doctrine\DBAL\Type::LTREE
                    'ltree[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::LTREE_ARRAY
                    _ltree: !php/const MartinGeorgiev\Doctrine\DBAL\Type::LTREE_ARRAY

                    # XML type mappings
                    xml: !php/const MartinGeorgiev\Doctrine\DBAL\Type::XML
                    'xml[]': !php/const MartinGeorgiev\Doctrine\DBAL\Type::XML_ARRAY
                    _xml: !php/const MartinGeorgiev\Doctrine\DBAL\Type::XML_ARRAY

                    # Vector type mappings
                    halfvec: !php/const MartinGeorgiev\Doctrine\DBAL\Type::HALFVEC
                    sparsevec: !php/const MartinGeorgiev\Doctrine\DBAL\Type::SPARSEVEC
                    vector: !php/const MartinGeorgiev\Doctrine\DBAL\Type::VECTOR

Register DQL Functions

Register the functions you'll use in your DQL queries. The full set of available functions and operators can be found in the Available Functions and Operators documentation and its specialized sub-pages:

# config/packages/doctrine.yaml
doctrine:
    orm:
        entity_managers:
            your_connection:
                dql:
                    string_functions:
                        # alternative implementation of ALL() and ANY() where subquery is not required, useful for arrays...
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
bugban/symfony
beyonder-capi/workflow-extensions-bundle
beyonder-capi/job-queue-bundle
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin