[5.8] Add deleted_at date cast for soft deleting models #26985
Closed
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 utilises a trait initializer to automatically add
deleted_atto the$datesarray of any model that uses theSoftDeletestrait. Previously this has to be added manually to each model - unlike thecreated_atandupdated_atthat is handled "under the hood".In essence...
Notes:
$castsentry fordeleted_atwill take precedence (test exists).$datesentry fordeleted_atwill have no impact as the array is not a key => value pair, but a value array. Also whengetDatesis called it already runsarray_uniqueto remove any duplicate entries (test exists).getDeletedAtAttributewill take precedence (test exists).Breaking:
This will be a breaking change if you are not expecting the value of
deleted_atto be cast, i.e. you never added it to the$datesarray as outlined in the docs. But as mentioned earlier, a mutator will take precedence if for whatever reason you don't want the automatic casting.