laravel分发job的时候报错

https://img1.mukewang.com/5c8f680d00017e6904620398.jpg

https://img.mukewang.com/5c8f680f0001eb6806350686.jpg

https://img.mukewang.com/5c8f6811000155b008000367.jpg

小白一名,想用测试下队列的使用,遇见这样的问题

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

斯蒂芬大帝
浏览 418回答 1
1回答

慕尼黑的夜晚无繁华

这个php中是类型限制你的代码中指定的 function __construct(User $user){ // 这里的User 没有指定命名空间 } 默认的命名空间是 App\Jobs, 获取到的对象是App\Jobs\User你想要获取到的是 App\User 这个模型数据 给定的数据和限制的数据类型/对象 不符合, 就抛出异常了. 如果没有给定限制, 也就不存在校验, 也就不会出错. 解决办法: 类型一致, 具体解决办法自己想想..我就不说的太详细了. 知其然, 知其所以然
打开App,查看更多内容
随时随地看视频慕课网APP