Laravel-调度无法从存储库中工作的作业

时间:2018-10-12 14:14:19

标签: php laravel controller repository jobs

当我尝试通过控制器发送作业时会起作用。

但是,当我从存储库中执行相同操作时,它会给我一个错误。

<?php

namespace App\Repositories\Retailer;

use App\Jobs\SlackJob;
use App\Traits\CreateOrderTrait;

class CreateOrderRepo
{
   use CreateOrderTrait;

   public function create($store_id)
     {
        $slackJob = new SlackJob("Test", 1);
        $slackJob = $slackJob->onQueue('high');
        $this->dispatch($slackJob);
     }
}

错误:

  

调用未定义的方法App \ Repositories \ Retailer \ CreateOrderRepo :: dispatch()

2 个答案:

答案 0 :(得分:1)

添加特征以调度作业:

use Illuminate\Foundation\Bus\DispatchesJobs;

答案 1 :(得分:1)

更改此

$this->dispatch($slackJob);

对此

dispatch($slackJob);