php - Laravel 5.6 - 如何使用命令行参数运行作业或事件?
问题描述
我有一项App\Jobs\BanUser
工作,它接受一个参数id
来通过传递他们的 id 来阻止坏用户。如果从这样的控制器调用,那将非常有效:
dispatch(new BanUser($id));
但是,当我尝试从 tinker 命令行使用完整的命名空间执行此操作时,如下所示:
dispatch(new App\Jobs\BanUser('1'));
我收到此错误:
PHP 致命错误:在第 1 行的 Psy Shell 代码中找不到类 'App/Jobs/BanUser'
id
知道如何使用命令行传递的参数来完成这项工作吗?
注意:如果解决方案需要为此作业从命令行启动队列,最好将其设置为事件?我不希望它排队,只是希望能够通过传递参数并BanUser
从命令行为作业或事件执行相应的代码来实时运行它。
解决方案
尝试
app('Illuminate\Bus\Dispatcher')->dispatch(new App\Jobs\BanUser('1'));
我不确定它是否会起作用,但你可以试一试。
推荐阅读
- android - 是否有任何可能的方法来触发工具提示而无需任何点击功能?
- bash - 配置 systemd 来管理服务
- mysql - 如何从 org.apache.taglibs.standard.tag.common.sql.ResultImpl 类型中获取值到 c:out
- python - 如何在 Python 中不随机地将数据拆分为 k 折叠
- forms - CUrl 向 Servlet 请求表单数据
- javascript - 基本 React 代码在我的 PC 上没有产生任何输出
- angular - 如何在使用Angular选中复选框时启用下拉菜单
- ampl - 错误处理约束 apertura['A']:无法将 'A' 转换为数字。AMPL
- python - 符号复杂表达式简化
- node.js - findOneAndUpdate 有时更新有时不更新