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 implements an SQLite specific update for nested JSON columns and paths.
When using SQLite, an Eloquent update like this:
Compiles to an SQL like this:
This is not a valid update query. This happens only when trying to update multiple models at the same time.
By checking if the column is JSON when compiling update queries, it's possible to fix this and update the value that belongs to the JSON path. The update statement for a JSON column should look like this:
Unfortunately, this approach has some pitfalls as well. For example:
In this case, the
meta->color
update will override themeta->size
update, which means it will keep its original value.Adding JSON update support to SQLite (even partially) would be a great help when using test environments.
As far as I know, this is not a breaking change.