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
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.
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.
Are you perhaps looking for https://github.com/doctrine/orm/blob/v2.7.3/lib/Doctrine/ORM/EntityRepository.php#L281?
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.
Most helpful comment
I'd rather say that a separate
findByCriteria()would be preferable, over having a union type.