在线课程申请中招收学生的问题

Issue with enrolling student in online course application

我正在 Laravel 申请在线课程。我在为用户注册课程时遇到此错误。

Integrity constraint violation: 1048 Column 'course_id' cannot be null (SQL: insert into `course_user` (`course_id`, `user_id`) values (?, 2))

这是我的路线

Route::post('/subscription/{course_id}', 'SubscriptionsController@enrolle')->name('enrolle');

订阅控制器

public function enrolle(Course $course)
{
    auth()->user()->courses()->attach($course);

    return redirect()->back();
}

Blade形式

<form method="post" action="/subscription/{{$courses->id}}">
    {{csrf_field()}}
    <input type="submit" class="site-btn buy-btn" value="Enroll" >
</form>

你的路由参数有误,一定是course。路由参数和控制器参数必须同名。

Route::post('/subscription/{course}', 'SubscriptionsController@enrolle')->name('enrolle');