[12.x] Add whereLike and whereNotLike methods to Collection #56112
+146
−0
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 adds
whereLike()
andwhereNotLike()
methods to the Collection class, providing SQL-like pattern matching capabilities similar to thewhereLike()
method available in the query builder.These methods allow filtering a collection by applying a LIKE or NOT LIKE pattern match to the value of a given key. The pattern supports wildcards, % (any sequence of characters) and _ (a single character), and also respects escaped wildcards (
\%
,\_
). Optional case sensitivity is also supported via. a third parameter ($caseSensitive
, defaulting to false).Moreover, both methods support nested keys using dot notation via.
data_get()
helper.Query builder and collections support various where methods (
where()
,whereIn()
,whereBetween()
, etc.). But,whereLike()
was notably missing from the Collection class, which I realized while working in one of my recent Laravel projects. This PR fills that void by introducingwhereLike()
andwhereNotLike()
methods, enhancing the collection filtering using familiar SQL-style patterns.