php – 将Laravel 5方法注入与其他参数一起使用
发布时间:2020-12-14 19:42:15 所属栏目:大数据 来源:网络整理
导读:所以我正在开发一个管理界面.我有一条路线设置如下: Route::controllers([ 'admin' = 'AdminController',]); 然后我有一个控制器与一些方法: public function getEditUser($user_id = null){ // Get user from database and return view}public function p
所以我正在开发一个管理界面.我有一条路线设置如下:
Route::controllers([ 'admin' => 'AdminController',]); 然后我有一个控制器与一些方法: public function getEditUser($user_id = null) { // Get user from database and return view } public function postEditUser($user_id = 0,EditUserRequest $request) { // Process any changes made } 正如您所看到的,我正在使用方法注入来验证用户输入,因此URL将如下所示: http://example.com/admin/edit-user/8697 GET请求将转到GET方法,POST请求转到POST方法.问题是,如果我正在创建新用户,则不会有ID: http://examplecom/admin/edit-user/ 然后我得到一个错误(转述):
所以现在我传递一个0的ID以使其能够用于创建新用户,但是这个应用程序刚刚开始,所以我将不得不在整个应用程序中执行此操作吗?是否有更好的方法来传递验证方法和可选的参数?任何智慧都将受到赞赏. 解决方法
您可以反转参数的顺序,以便可选的参数是结束:
public function postEditUser(EditUserRequest $request,$user_id = null) { } 然后,Laravel将首先解析EditUserRequest,如果没有user_id则不再传递,因此默认值将启动. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |