当我从groups表中删除一行时,我希望该函数还删除表group_user中的所有关系映射。例如,如果我删除ID为4的组,则group_user表中包含group_id 4的所有行也将被删除。表格如下:
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->string('phone');
$table->boolean('approved')->default(false);
$table->rememberToken();
$table->timestamps();
});
Schema::create('groups', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('course_id');
$table->timestamp('start_date')->nullable();
$table->timestamp('end_date')->nullable();
$table->timestamps();
});
Schema::create('group_user', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->integer('group_id');
$table->timestamps();
});
目前在组控制器中使用此功能,但它只从组表中删除:
function deleteGroup($id){
$group = Group::find($id);
$group->delete();
return redirect()->back();
}
答案 0 :(得分:1)
如果您的表存储引擎类型是innodb,您可以尝试迁移以设置正确的关系,所有这些都将在数据库层中完成。
font-family="'DejaVu Sans',Verdana,Geneva,sans-serif"