Orm: Allow EntityRepository::FindBy to accept a Criteria object or array.

Created on 14 Dec 2018  路  5Comments  路  Source: doctrine/orm

Feature Request

In order to do advanced where clauses select (greaterThan, lesserThan, equals...).

Would it be possible to allow the method EntityRepository::FindBy to take a Criteria object OR an array of params.

It would be easier to perform some advanced where clauses.

| Q | A
|------------ | ------
| New Feature | yes
| RFC | yes
| BC Break | no

Summary

Since I don't usually work inside the doctrine project, I don't really know what are the impacts of this request. I saw that there is one or two interfaces to modify, and some recovering parameter way, but this is only for the MySQL driver.

Improvement

Most helpful comment

I'd rather say that a separate findByCriteria() would be preferable, over having a union type.

All 5 comments

I'd rather say that a separate findByCriteria() would be preferable, over having a union type.

I've just come across this from wondering how to specify operators for the findBy criteria array.

I think having a findByCriteria and findOneByCriteria would be a great addition here.

Mmm that seems to be quite different to the find... methods and it recieves only a single Criteria object (and returns a Collection), seems a bit inconsistent and I can't find the documentation covering matching.

Yes EntityRepository::matching is the solution here. Different API is needed so you can support lazy and subfiltering.

Was this page helpful?
0 / 5 - 0 ratings