我想知道如何将 Laravels softdelete 与MySql 外键限制约束一起使用。
框架中是否已有内置功能? Softdelete已经在运行,但我需要对相关模型进行某种验证。例如向用户发送错误消息"您无法删除此项目,因为它有5个相关记录"
谢谢,
答案 0 :(得分:0)
是的,在Laravel中他们有软删除模型。在模型上使用此Illuminate\Database\Eloquent\SoftDeletes
特征,并将deleted_at
列添加到您的$dates
属性。
他们也有他们的查询软删除模型。你可以选择任何人。
您可以在 here.
中获取有关此内容的所有文档答案 1 :(得分:0)
没有为解决方案而建立解决方案"拔出"软删除的数据库关系。
您可以做的是使用观察员(event listener)或使用eloquent model events例如deleting
/ deleted
,如:
public function boot()
{
User::deleted(function ($user) {
if ($user->deleted_at) {
// here You have to unplug all the dependencies
}
});
}