【发布时间】:2019-01-25 20:34:27
【问题描述】:
在 Laravel 5.6 中向资源控制器添加自定义方法的正确方法是什么?
到目前为止,我的ProfileController 中有一个新方法:
public function approve($id){
$user = User::find($id);
$user->state = '1';
$user->save();
return redirect('/dashboard')->with('success', 'User approved.');
}
以及添加到我的web.php 文件中的以下行:
Route::post('/profile/{$id}/approve', 'ProfileController@approve');
Route::resource('profile', 'ProfileController');
在我看来,表单已正确呈现(afaik):
<form method="POST" action="http://myurl.com/profile/10/approve" accept-charset="UTF-8">
<input name="_token" type="hidden" value="v3F1RRhi7iJL2o4egOhcRiuahaGQBwkGkfMal1lh">
<input name="_method" type="hidden" value="PATCH">
<input class="btn btn-success" type="submit" value="Approve User">
</form>
很遗憾,除了“抱歉,找不到您要查找的页面”之外,没有任何反应。要显示的页面。
我错过了什么?为了进一步扩展这个问题,这甚至是在数据库条目上实现“单字段更新”的有效方法吗?
感谢您的帮助!
【问题讨论】:
-
你能不能
php artisan route:list把输出粘贴到这里?
标签: php laravel rest routing laravel-5.6