当我使用以下语法删除行时:
$user->delete();
Run Code Online (Sandbox Code Playgroud)
有没有办法附加各种回调,所以它会自动执行此操作:
$this->photo()->delete();
Run Code Online (Sandbox Code Playgroud)
最好在模型类内.
尝试使用删除级联和softDeletes的外键没有太多运气.
我有2个表:用户,事件.两个表都有softDeletes.
用户可以拥有0..n个活动.
事件有一个user_id,用作用户的外键,如下所示:
$table->foreign('user_id')->references('id')->on('users')->onDelete('CASCADE')->onUpdate('CASCADE');
Run Code Online (Sandbox Code Playgroud)
问题是,当我删除用户时,它会被软删除,但其事件不会 - 软删除或物理删除.
我做错了什么,或者这是正确的雄辩行为?
其次,如果这是正确的行为,如何最好地实现删除级联?也许覆盖我的模型中的delete()方法,就像这样......
public function delete()
{
//delete all events...
__parent::delete()
}
Run Code Online (Sandbox Code Playgroud)
?