2017-01-13 4 views
2

Мой слушатель, как это:Как решить вызов функции-члена уведомлять() по массиву? (Laravel 5,3)

<?php 

namespace App\Listeners; 

use App\Events\CheckoutOrderEvent; 
use Illuminate\Queue\InteractsWithQueue; 
use Illuminate\Contracts\Queue\ShouldQueue; 
use Mail; 

class CheckoutOrderListener 
{ 
    public function __construct() 
    { 
     // 
    } 
    public function handle(CheckoutOrderEvent $event) 
    { 
     // dd($event); 
     $event->data->notify(New \App\Notifications\CheckoutOrder($event->data)); 
    } 
} 

Если я бегу дд ($ событие), результат таков:

enter image description here

При выполнении существуют ошибки: Вызов функции-члена уведомления() по массиву

Как его решить?

+0

Массивы не имеют методы (функции-члены) – RiggsFolly

ответ

1

Вы должны использовать notify() на модели с признаком Illuminate\Notifications\Notifiable, но определенно не на массиве.

Например, вы можете получить экземпляр User первый:

$user = User::where('email', $event->data['email'])->first(); 

И затем использовать notify():

$user->notify(....) 
+0

Там существует ошибка: ' Вызов неопределенного метода Illuminate \ Database \ Query \ Builder :: notify() ' –

+0

Посмотрите здесь: http://stackoverflow.com/questions/41627259/how-to-solve-call-to-undefined-method-illuminate-database -query-buildernotify –

Смежные вопросы