我创建了两个表格如下:
Schema::create('educations', function(Blueprint $table){
$table->increments('id');
$table->string('title');
$table->date('from_date');
$table->date('to_date');
$table->string('summary');
$table->integer('cv_id')->unsigned();
$table->foreign('cv_id')->references('id')
->on('cvs')
->onDelete('cascade')
->onUpdate('cascade');
$table->timestamps();
});
他们与另一张桌子相关联:
Schema::create('cvs', function(Blueprint $table){
$table->increments('id');
$table->integer('student_id')->unsigned();
$table->foreign('student_id')->references('id')
->on('students')
->onDelete('cascade')
->onUpdate('cascade');
$table->string('summary');
$table->timestamps();
});
问题是,每当我打电话给这一行:
$student->cv->delete();
它将删除cv,但不会删除与其相关的表中的其他属性。
我缺少什么?
答案 0 :(得分:1)
这不是它的工作原理。 cascade
表示当您从cvs
表中检测到某些简历时,所有具有相同cv_id
的行都将从educations
表中删除。你不能期望整个表格会被删除。