为了账号安全,请及时绑定邮箱和手机立即绑定

laravel分发job的时候报错

laravel分发job的时候报错

PHP
斯蒂芬大帝 2019-03-12 10:28:25
小白一名,想用测试下队列的使用,遇见这样的问题 图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 这个模型数据

给定的数据和限制的数据类型/对象 不符合, 就抛出异常了.

如果没有给定限制, 也就不存在校验, 也就不会出错.

解决办法:

类型一致, 具体解决办法自己想想..我就不说的太详细了.

知其然, 知其所以然

查看完整回答
反对 回复 2019-03-18
  • 1 回答
  • 0 关注
  • 417 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信