[9.x] Handle non-consecutive key collection on MeiliSearch document deletion #688
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.
Methods
MeiliSearchEngine::update()
andMeiliSearchEngine::delete()
both expect a Illuminate\Database\Eloquent\Collection of models.For my use case I used to fine-tune this collection using
->filter()
on it. Using ->filter() on collection might result in a collection that doesn't wrap a list anymore, but an array with non-consecutive keys. WhileMeiliSearchEngine::update()
implementation handle this well, calling theMeiliSearchEngine::delete()
method results in following error from Meilisearch:This is because delete() method uses
->all()
directly on the provided Collection.You might argue I should use
->values()
in my user-land code, and this is what I did for the moment as a workaround. But IMHO, update() and delete() should behave the same with array that are not list.This PR propose to change
->all()
to->values()->all()
.