The user could define filters as you presented. Maybe it is better to allow more if it is forbidden. Now the code is getting too complicated. Dividing queries later, submitting them according to the use case is inefficient and complicates the code. You can't prepare filtering patterns, querying dynamic models. Building separate filters for sorting and searching, and in the future and aggregation will be too complicated. After that, even if the user duplicated the predicates, they will be optimized. This is in my patch. But it will be possible to bus complex predicates in satatic methods as well as in native filters. Sometimes over-straining the nesting predicate as an indication that an element should be nested if the context requires it. |