Laravel侦听器队列var错误

时间:2018-08-20 11:46:39

标签: laravel laravel-5

我正在尝试使用“数据库”将侦听器排队,它可以与“同步”一起正常工作,但是如果我使用数据库并通过变量发送事件触发错误,则我不知道发生了什么。错误是:

[2018-08-20 11:33:23] local.ERROR: Undefined property: 
laravel\Events\sendSMS::$request {"exception":"[object] (ErrorException(code: 
0): Undefined property: laravel\\Events\\sendSMS::$request at 
/var/www/laravel/app/Listeners/sendSMSListener.php:30)
[stacktrace]

如果我在侦听器中定义var而不是将其发送到低谷事件,则可以正常工作。

侦听器代码为:

public function handle(sendSMS $event)
{
    $request = $event->request;
    $recipient = $request->number;
    $message = $request->message;
    return $message; -> doesn`t matter
}

事件代码:

public function __construct($request)
{
    $this->request = $request;
}

3 个答案:

答案 0 :(得分:0)

public function handle(sendSMS $event)
{
    $request = $event->request;
    $recipient = $this->request->number;
    $message = $this->request->message;
    return $message;
}

答案 1 :(得分:0)

为$ request定义类的数据成员。

protected $request;

答案 2 :(得分:0)

您可以尝试以下代码吗?

jQuery.Deferred exception: assignment to undeclared variable...