[5.x] Prepare value & operator before passing to Eloquent Query Builder #11805
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 pull request partially fixes statamic/eloquent-driver#424, by ensuring that the value and operator are handled properly before being passed to the Eloquent Query Builder.
The Problem
Currently, when you're storing entries in the database, attempting to query a column with a value matching an operator will result in an error:
The query works as expected when querying the model directly, or when using the Stache query builder.
is
simply becomes the value when a third argument hasn't been provided.This fix goes alongside statamic/eloquent-driver#425 which adjusts how the
EloquentQueryBuilder::where()
method is called.