【发布时间】:2019-10-05 10:13:08
【问题描述】:
我有一个App\Jobs\BanUser 作业,它接受参数id 通过传递他们的ID 来阻止坏用户。如果从这样的控制器调用,那将非常有效:
dispatch(new BanUser($id));
但是当我尝试从带有完整命名空间的 tinker 命令行执行此操作时,如下所示:
dispatch(new App\Jobs\BanUser('1'));
我收到此错误:
PHP 致命错误:在 Psy Shell 代码中找不到类“App/Jobs/BanUser” 第 1 行
知道如何使用从命令行传递的id 参数来完成这项工作吗?
注意:如果解决方案需要从命令行启动队列来完成这项工作,也许最好将其设置为事件?我不希望它排队,只是希望能够通过传递参数并从命令行为作业或事件执行BanUser 相应的代码来实时运行它。
【问题讨论】:
-
试试
dispatch(new \App\Jobs\BanUser('1')); -
与前导的结果相同\
-
如果你输入
>>> use App\Jobs\BanUser;然后>>> dispatch(new BanUser('1'));? -
nope.. 仍然返回相同的错误。
-
确保您的
BanUser类文件中有App\Jobs命名空间。
标签: php laravel laravel-5 laravel-5.5 laravel-5.6