我试图在按下链接时触发控制器功能。
所以......,这是HTML
<a class="hollow button primary" href="{{ route('hire.worker', ['id' => $id]) }}"><i class="fa fa-user-plus"></i> Hire as Worker</a>
这是路线:
Route::post('/profile/{id}', [
'as' => 'hire.worker',
'uses' => 'ProfileController@hire'
]);
这是控制器:
public function hire($id)
{
$worker = New Worker;
$worker->workerID = $id;
$worker->save();
}
当我按下按钮时,页面只刷新,数据库中没有存储任何内容,我也有其他一些路径,这可能是问题所在。
// Profile
Route::get('/profile/{id}', [
'as' => 'display.profile',
'uses' => 'ProfileController@index'
]);
Route::post('/profile/{id}', [
'as' => 'display.profile',
'uses' => 'ProfileController@store'
]);
Route::post('/profile/{id}', [
'as' => 'hire.worker',
'uses' => 'ProfileController@hire'
]);
答案 0 :(得分:0)
链接使用GET作为请求方法,因此Route :: post不正确。 创建一个新路径,如下面的路径,并在控制器方法的末尾重定向到您最初想要的任何页面。
Route::get('/profile/link/{id}', [ 'as' => 'hire.worker', 'uses' => 'ProfileController@hire' ]);