Repository navigation
v1.0.0-RC3
Pre-release
Pre-release
Third release candidate of Solo Repository (solophp/repository). It closes two gaps that moving the first real application to RC2 revealed: long IN lists bind as one DBAL list parameter, and a mapping read only as rows needs no hydrator.
This is a prerelease: the 1.0 API is being validated in real applications before the stable 1.0.0 tag.
Migrating from Base Repository v3: read the migration guide.
Changes since 1.0.0-RC2
INandNOT INcriteria and the key lists of relation loads andlockForUpdate()are bound as one DBAL list parameter (ArrayParameterType) of values converted through the field type, instead of one named parameter per value. DBAL expands the list into the same SQL when it runs the statement. A type without a DBAL list binding, such as boolean, still binds each value, and the parameter budget still counts every value of a list.- Behavior change: a
queryBuilder()with IN criteria holds a list parameter. Run the builder itself, or passgetParameterTypes()along withgetParameters()when its SQL becomes part of another statement. - The
hydratecallback of aMappingis optional, andMapping::$hydrateis nullable. A mapping without one is read throughrows(), aggregates,queryBuilder()and related filters, and written as usual;find(),findOneBy(),findBy(),iterateById()and loading it as a relation target throwLogicExceptionbefore SQL.
Install
composer require 'solophp/repository:^1.0@RC'See the changelog for the full list of features and requirements, and the full diff since RC2.