我正在使用Laravel队列,我的问题是我没有从控制器传递参数。这是我的代码:
工作
protected $id;
public function __construct($id)
{
$this->id = $id;
}
public function handle()
{
Log::info($this->id);
}
控制器
public function getAccept($id)
{
$job = (new SendQueueMail($id))->delay(10);
$this->dispatch($job);
}
我尝试了dd()函数,但仍然收到$ id。当我在上面的队列中运行时,我没有得到$ id。
laravel.log
[2019-04-19 09:54:22] local.INFO:
任何帮助,不胜感激!非常感谢!
答案 0 :(得分:0)
控制器
use App\Jobs\SendQueueMail;
public function getAccept($id){
SendQueueMail::dispatch($id)
->delay(now()->addMinutes(10));
}
使用此功能可能对您有帮助
答案 1 :(得分:0)
这将为您提供帮助
public function getAccept($id)
{
dispatch(new SendQueueMail($id));
}
答案 2 :(得分:0)
您做得正确,只需使用以下代码更新控制器
public function getAccept($id)
{
$this->dispatch(new test($id))->delay(now()->addMinutes(10));
}