Laravel中的队列调度方法引发错误

时间:2016-08-02 06:26:55

标签: laravel-5 jobs

所以这是我的代码行

delimiter $$

create function generate_invoice_number(id int) returns varchar(11)
    deterministic 
begin
    declare invoiceId varchar(11) default null;
    /**
         * Here id refers to the ID that is generated in the 
     * invoice table.
     */
    if id is not null and id > 0 
        then
            set invoiceId = concat('QUA-',lpad(id,7,'0'));
    end if;

    return invoiceId;
end$$

delimiter ;

此处调度方法抛出错误

public function getVisitedCountriesCountAttribute()
{
    $this->dispatch(new CalculateTotalCountriesVisited($this));

    return $this->total_countries;
}

我似乎不明白这背后的原因是什么。我按照https://laravel.com/docs/5.1/queues

中的所有步骤进行操作

任何帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:3)

如果您想从模型中发送,则必须使用其中的特征$this->dispatch(...,否则您将无法执行dispatch(new CalculateTotalCountriesVisited($this));

不使用此特征的另一种方法是使用调度助手:

POST

这将自动从应用容器中解析Dispatcher。