小白一名,想用测试下队列的使用,遇见这样的问题
图2:JOBs类里面的构造函数的参数如果写了__constract(User $user);这样的依赖注入就会告诉我我在;图1:UserController类的sendEmail方法里传的参数不是App\jobs\User实例化而来的,就报错图3,如果写成__constract($user)就正常运行,但是手册和文档里写的都是__constract(User $user);为什么我这么写会报错呢?
1 回答

慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
这个php中是类型限制
你的代码中指定的
function __construct(User $user){
// 这里的User 没有指定命名空间
}
默认的命名空间是 App\Jobs
, 获取到的对象是App\Jobs\User
你想要获取到的是 App\User
这个模型数据
给定的数据和限制的数据类型/对象 不符合, 就抛出异常了.
如果没有给定限制, 也就不存在校验, 也就不会出错.
解决办法:
类型一致, 具体解决办法自己想想..我就不说的太详细了.
知其然, 知其所以然
- 1 回答
- 0 关注
- 417 浏览
添加回答
举报
0/150
提交
取消