Я не уверен в вашей логике, но с этой строкой:
$selected_courses = new Prospect;
Вы создаете новый объект.
Когда вы звоните по этой линии:
$course_prospect->prospect_id = $selected_courses->id;
$ selected_courses-> id равен NULL;
Я думаю, что вы пытаетесь использовать отношения ManyToMany здесь ...
Таким образом, правильный способ был бы сделать это:
хранилище публичных функций (Request $ request) {
$prospect = new Prospect;
$prospect->prospect_name = $request->prospect_name;
$prospect->prospect_nic = $request->prospect_nic;
$prospect->contact_number = $request->contact_number;
$prospect->address = $request->address;
$value = implode(',', $request->course_intrested);
$prospect->course_intrested = $value;
$prospect->comments = $request->comments;
$prospect->referred_through = $request->referred_through;
// Сохранение перспективы и получение идентификатора из БД
$ prospect-> Save ();
$ prospect-> курсы () -> синхронизация ($ request-> course_intrested);
return redirect()->back();
}
Это должно заполнить таблицу course_prospect, предполагая, что вы отвергли отношения ManyToMany в моделях Prospect и Course.
Подробнее здесь:
https://laravel.com/docs/5.8/eloquent-relationships#many-to-many