私はこの質問が数ヶ月であることを知っていますが、この非常に同じエラーメッセージに遭遇している間私は私の観測を追加したいと思います。 EventListener(この例では非同期のためのShouldQueueのインタフェース)は、従属変数を正しく解決できないため(スコープ外またはEventListenerのhandle(Event $ event)メソッドで渡されたEventオブジェクトのスコープに含まれていないため) 。私はイベントリスナー内__constructブロック内で自分のコードを置くとき
は私にとっては、このエラーが解雇された。その代わり
public function __construct(Event $event)
{
$localProperty = $event->property
Mail::queue(etc...);
}
public function handle()
{
// Yeah I left this blank... whoops
}
、イベントリスナーのハンドル()メソッドは、イベントインターフェイスを取り、プロセスと呼ばれるときキュー内のジョブ:イベントで
:
public function __construct(Object $ticket, AnotherObject $user)
{
$this->ticket = $ticket;
$this->user = $user;
}
とイベントリスナー
で
class SomeEventListener implements ShouldQueue
{
use InteractsWithQueue;
use SerializesModels;
public function __construct()
{
// Leave me blank!
}
public function handle(Event $event)
{
$someArray = [
'ticket' = $event->ticket,
'user' = $event->user,
];
Mail::queue('some.view', $someArray, function($email) use ($someArray) {
// Do your code here
});
}
}
少し遅れていますが、これが誰かを助けてくれることを願っています。キューはイベントと似ています(ただし、ジョブがキューの主な原動力となることは例外です)。そのほとんどが関連している必要があります。