我有一个管理员控制器。在这里,我可以做一个简单的CRUD功能。
使用此路线:Route::resource('admin', 'AdminController');
一切(创建,编辑销毁)都能完美运行。
现在我在此控制器中有了一个新功能。
禁用名称。在这里我可以停用用户。
这是函数:
public function deactivate($id)
{
$user = User::find($id);
if ($user->verified == 1){
$user->verified = 0;
$user->save();
$angebot = Angebot::where('firma', $id);
$angebot->delete();
return redirect('/admin')->with('success', 'Nutzer wurde erfolgreich deaktiviert');
}
if($user->verified == 0){
$user->verified = 1;
$user->save();
return redirect('/admin')->with('success', 'Nutzer wurde erfolgreich aktiviert');
}
}
为此功能,我有以下路线:
Route::get('admin/{id}', 'AdminController@deactivate')->name('admin.deactivate');
在我看来,它是这样的:
<a href="{{ route('admin.deactivate',$user->id)}}">
如果我单击此链接,它将转到/ admin / 2(因此它为我提供了正确的ID)
但是它不会重新发送到/ admin,所以我认为路由不起作用,因为该功能应该起作用
有人知道为什么吗?
是因为我在资源控制器中执行此操作吗?
答案 0 :(得分:6)
要在资源路由中添加一条额外的路由,请将其添加到资源路由的上方。
Route::get('admin/{id}', 'AdminController@deactivate')->name('admin.deactivate');
Route::resource('admin', 'AdminController');