[7.x] Improvements around unlinking relationships #595
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.
Right now, when you "unlink" a related model using the Has Many fieldtype, it'll permanently delete that model. It has worked this way for as long as I can remember, for no good reason.
This pull request makes some changes to how "unlinking" relationships work in the Has Many fieldtype.
When the
relationship_id
column is nullable, instead of deleting the related model, it'll simply set the column tonull
.When the
relationship_id
column is not nullable, it will continue to delete the related model, however it'll show a confirmation prompt before the model can be unlinked.When the Has Many fieldtype is used for
BelongsToMany
relationships, it'll always "unlink" the relationship by deletng the row in the pivot table.Closes #582.