[12.x] Add WhereNotAny
, WhereNotAll
methods to Query Builder
#55291
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces new methods to the Query Builder and refactors existing ones to enhance consistency and clarity:
whereNotAny
: Adds a "where not" clause for multiple columns with "or" conditions between them.orWhereNotAny
: Adds an "or where not" clause for multiple columns with "or" conditions between them.whereNotAll
: Adds a "where not" clause for multiple columns with "and" conditions between them.orWhereNotAll
: Adds an "or where not" clause for multiple columns with "and" conditions between them.Additionally, the previously existing methods
whereNone
andorWhereNone
have been refactored to serve as aliases forwhereNotAny
andorWhereNotAny
, respectively. This change addresses concerns regarding the naming inconsistency and potential confusion associated with the whereNone method, as discussed in PR #52383.The
whereNone
method's naming did not align with Laravel's established conventions, leading to potential confusion among developers. By introducingwhereNotAny
andwhereNotAll
, we adhere to a more intuitive and consistent naming pattern, enhancing code readability and maintainability. This approach also aligns with the enhancements proposed in PR #52361, ensuring a comprehensive and logical set of query builder methods.To maintain backward compatibility,
whereNone
andorWhereNone
have been retained as aliases. However, it is recommended that these methods be deprecated in future Laravel releases to encourage developers to adopt the more appropriately named methods.