I am using PHP laravel 8.21.0 I have 3 tables. student, grade, and test. When I delete student data, I want all associated grade data to be deleted. Similarly, when I delete test data, I want the associated grade data to be deleted.
I tried using cascade delete, which does not seem to work. Am I doing something wrong? Any better way to make this work? Does anyone have a better idea to structure this relationship...
Grade table Schema:
public function up()
{
Schema::create('grades', function (Blueprint $table) {
$table->id('id')->unique();
$table->foreignId('test_id')->constrained()->onDelete('cascade');
$table->foreignId('student_id')->constrained()->onDelete('cascade');
$table->date('testDate');
$table->integer('testCount');
$table->integer('vocabScore');
$table->integer('readingScore');
$table->integer('listeningScore');
$table->integer('rawTotal');
$table->timestamps();
});
}