Я пытаюсь создать сеялку, которая заполняет базы данных «Назначениями», которые связаны с базой данных «Курса» с ограничением внешнего ключа. Так как я довольно новичок в PHP и Laravel 6 в целом, я не знаю, с чего начать. У меня уже есть сеялка, которая заполняет мою базу данных «Курс», которая выглядит следующим образом:
class CoursesTableSeed extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('courses')->insert([[
'name' => 'Opleidings- en beroepsoriëntatie',
'ecs' => '2.5'
],[
'name' => 'Computer science basics',
'ecs' => '7.5'
],[
'name' => 'Programming basics',
'ecs' => '5'
],[
'name'=>'Professional skills 1',
'ecs'=>'2.5',
],[
'name'=>'HZ Personality',
'ecs'=>'2.5',
],[
'name'=>'Object-oriented programming',
'ecs'=>'10',
],[
'name'=>'Professional skills 2',
'ecs'=>'2.5',
],[
'name'=>'Professionele werkplek',
'ecs'=>'2.5',
],[
'name'=>'Framework development 1',
'ecs'=>'5',
],[
'name'=>'Framework project 1',
'ecs'=>'5',
],[
'name'=>'Professional skills 3',
'ecs'=>'2.5',
],[
'name'=>'IT Personality 1',
'ecs'=>'2.5',
],[
'name'=>'Framework development 2',
'ecs'=>'5',
],[
'name'=>'Framework project 2',
'ecs'=>'5',
]
]);
}
}
Теперь я хочу сделать то же самое с моей базой данных заданий, но я не могу понять, как, так как я тоже хочу иметь «Назначения» связаны с соответствующими «Курсами», поэтому, когда я удаляю курс, он также удаляет связанные с ним назначения. Если этот вопрос немного расплывчатый, извините за это. Я довольно новичок в PHP laravel и программировании в целом. Кроме того, это моя миграция для заданий:
class CreateAssignmentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('assignments', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('course_id');
$table->text('name');
$table->decimal('weight',3,1)->nullable();
$table->decimal('grade', 3, 1)->nullable();
$table->timestamps();
$table->foreign('course_id')
->references('id')
->on('courses')
->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('assignments');
}
}