Laravel 5 如何删除带有数据透视的记录(Laravel 5)
例如,如果我有表格:Laravel 5 如何删除带有数据透视的记录(Laravel 5),laravel-5,Laravel 5,例如,如果我有表格: project user_project 我想从project表中删除一些项目,以及user_project表中与该项目相关的所有记录,我该怎么做? 我可以用单行线吗?因为我不想对某个项目进行深入研究,但在用户中,项目仍然存在…如果在迁移中设置了删除级联,则删除项目表中的记录将自动从相关表中删除该记录,否则,您必须手动删除该记录 // to delete records from both table, let first delete from the // chi
project
user_project
我想从project表中删除一些项目,以及user_project表中与该项目相关的所有记录,我该怎么做?
我可以用单行线吗?因为我不想对某个项目进行深入研究,但在用户中,项目仍然存在…如果在迁移中设置了删除级联,则删除项目表中的记录将自动从相关表中删除该记录,否则,您必须手动删除该记录
// to delete records from both table, let first delete from the
// child table then after that we delete from the parent table.
$project = Project::find($id);
// let assume you have define the user relation in your model and
// its a many to many association
$project->users()->detach();
$project->delete();
我只能为InnoDB表设置级联的可能副本?使用上述第二种方法,我无法100%确定这两部分将一起执行:
$project->user()->detach()$项目->删除()代码>,也有助于事务处理,但我不确定MyISAM是否支持事务处理?对于最后两个代码,它将执行两个单独的查询。一个是从user_project表中删除记录,另一个是从projects表中删除记录。我知道,因为我不确定它是否总是一起执行,因为一个查询可以执行,但另一个查询不能。。。事务可以解决它,但不确定它是否可以与MyISAM一起使用