Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5 如何删除带有数据透视的记录(Laravel 5)_Laravel 5 - Fatal编程技术网

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一起使用