Я бы порекомендовал заглянуть в Laravel Eloquent ORM. Из Eloquent документации :
"Каждая таблица базы данных имеет соответствующую" Модель ", которая используется для взаимодействия с> этой таблицей. Модели позволяют запрашивать данные в ваших таблицах , а также> вставьте новые записи в таблицу. "
$course = new Course();
$course->nsu_id = $request->nsu_id
$course->course = $request->course
$course->section = $request->->section
$course->class_start = $request->class_start
$course->class_end = $request->class_end
$course->save();
или если вы настроите разрешение массовое назначение
Course::create($request);
Кроме того, вы должны взглянуть на Проверка на этот входящий запрос, чтобы убедиться, что ваши пользователи не делают ошибок, или какой-то плохой актер не пытается скомпрометировать ваше приложение.
РЕДАКТИРОВАТЬ 1
Согласно комментариям, вы не хотите пытаться следовать решению Eloquent. $ data ['course'], это массив. Поскольку ваша база данных, как определено в вашей схеме, ожидает строку, это будет проблемой. Итак, вот несколько идей о том, как преобразовать данные вашего массива в строки.
Запятая отделяется через implode ()
foreach($data as $data){
$pointData[]=[
'nsu_id'=>$data['nsu_id'],
'course'=>implode(',',$data['course']),
'section'=>implode(',',$data['section']),
'class_start'=>implode(',',$data['class_start']),
'class_end'=>implode(',',$data['class_end']),
];
}
JSON Строка с помощью json_encode ()
foreach($data as $data){
$pointData[]=[
'nsu_id'=>$data['nsu_id'],
'course'=json_encode($data['course']),
'section'=>json_encode($data['section']),
'class_start'=>json_encode($data['class_start']),
'class_end'=>json_encode($data['class_end']),
];
}
Изменить 2
В комментариях вы спросили, как сделать множественные вставки
Вставка нескольких строк в базу данных
Взгляните на Laravel Документация по вставке БД , но вот пример с этой страницы:
DB::table('users')->insert([
['email' => 'taylor@example.com', 'votes' => 0],
['email' => 'dayle@example.com', 'votes' => 0]
]);