模型绑定时控制器方法传参中必须包含对应的 Eloquent 模型类型声明,并且是有序的如何理解?

在『隐性路由模型绑定』时
file
这句话中的有序如何理解? 是指第一个参数必须为 User 模型的注入吗?如果把 Illuminate\Http\Request 请求放在第一个参数的位置是不是就会报错?

public function show(Request $request,User $user)
    {
        return view('users.show', compact('user'));
    }

我这样试了不会报错..
还是依赖注入的时候 User 的注入变量为了好理解需要命名为 $user,如果还有其他的模型注入,也要类似这样命名呢?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 4

file
此有序应该是指路由上参数的顺序和控制器方法上参数的顺序

6年前 评论

@sunnylin
我试了,路由的参数是 {user},但是我控制器方法上的参数顺序改为

public function show(Request $request,User $user)
    {
        return view('users.show', compact('user'));
    }

Request 请求在前也是可以的.不知道这里是不是推荐做法把路由上参数的顺序和控制器方法上参数的顺序设为一致.

6年前 评论

个人认为,Request 请求的顺序不影响,其他路由上参数的顺序和控制器方法上参数的顺序才会影响。你可以多加几个参数来尝试一下

6年前 评论

应该是指控制器里面对应函数的参数顺序,要和uri中的参数顺序保持一直

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!