将Laravel 5方法注入与其他参数一起使用

超文本队长

所以我在管理界面上工作。我有这样设置的路线:

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/

然后我得到一个错误(解释):

传递给控制器​​的参数2必须是EditUserRequest的实例,没有给出

因此,现在我传递的ID为0,以使其可用于创建新用户,但是此应用程序才刚刚起步,所以我是否必须在整个应用程序中都这样做?有没有更好的方法来传递验证方法和参数(可选)?任何智慧将不胜感激。

Lukasgeiter

您可以颠倒参数的顺序,因此可选参数之一是结束:

public function postEditUser(EditUserRequest $request, $user_id = null)
{

}

然后Laravel将解决第EditUserRequest一个问题,如果没有user_id,则不再传递任何内容,因此将使用默认值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在未指定类型参数的情况下无法将Java 8方法与lambda参数一起使用

了解如何将SimpleDateFormat与其他参数一起使用

将Matchers.eq()与其他模拟值一起使用时,InvalidUseOfMatchersException

如何将flask-migrate与其他declarative_bases一起使用

如何将Sphinx与其他模板一起使用?

根据环境将Azure函数与其他存储帐户一起使用

将bash -s与其他参数一起使用

在Sklearn管道内将VotingClassifier与其他分类器一起使用

将mark_inset与其他范围图一起使用

将张量切片与其他张量一起使用以分配值

如何通过JavaScript将结果与其他文本一起使用

将BotFramework Composer与其他NLU引擎一起使用

R:将mapply与其他列表一起用作参数

如何将react-redux'useSelector'与其他变量一起使用?

将FaceBook OAuth mvc5与其他LocalHost和已部署密钥一起使用

将事件参数与其他参数一起使用?

将ASP.net Identity用户与其他表一起使用

如何将for_each与其他参数一起使用?

MySQL 2表将player_id与其他表的名称一起使用

将VBA范围命令与其他工作表中的ActiveX按钮一起使用

Swift Alamofire将图像数组与其他参数一起发送

与其他按键一起使用时,将撇号绑定为“控件”吗?

将预编译的Azure函数与其他方法一起使用时出错

如何将 django-oscar 与其他应用程序一起使用?

是否可以将 Clang libtooling 与其他编译器一起使用?

如何将日历与 jQuery 和主题与其他 jQuery 一起使用

将 IDisposable 接口与其他接口一起使用时显示错误消息

将 React Hook Form 与其他组件一起使用

将省略号参数与其他参数一起使用