Невозможно отправить уведомление в Laravel - PullRequest
0 голосов
/ 06 мая 2019

Я не могу отправить уведомление в Laravel.Как мне сделать, чтобы устранить эту ошибку?

Call to undefined method Illuminate\Database\Query\Builder::routeNotificationFor()
in Builder.php line 2123
at Builder->__call('routeNotificationFor', array('WebPush'))
at call_user_func_array(array(object(Builder), 'routeNotificationFor'), array('WebPush')) in Builder.php line 1015
at Builder->__call('routeNotificationFor', array('WebPush')) in WebPushChannel.php line 31
at WebPushChannel->send(object(Builder), object(PushDemo)) in ChannelManager.php line 77
at ChannelManager->sendNow(array(object(Builder)), object(PushDemo)) in ChannelManager.php line 43
at ChannelManager->send(array(object(Builder)), object(PushDemo)) in Facade.php line 217
at Facade::__callStatic('send', array(object(Builder), object(PushDemo))) in PushController.php line 36

Моя среда немного особенная: я создаю PWA на Laravel 5.1

Backport уведомлений с: laravel-messages-channels / backport

Webpush: laravel-messages-channel / webpush

Я пробовал фасад уведомлений, а также user-> notify ()

Мой сервисный работник работает, манифест jsonвсе в порядке.

PushController:

    public function store(Request $request){
        $this->validate($request,[
            'endpoint'    => 'required',
            'keys.auth'   => 'required',
            'keys.p256dh' => 'required'
        ]);
        $endpoint = $request->endpoint;
        $token = $request->keys['auth'];
        $key = $request->keys['p256dh'];
        $user = Auth::user();
        $user->updatePushSubscription($endpoint, $key, $token);

        return response()->json(['success' => true],200);
    }

    public function push2(){
        Notification::send(User::all(),new PushDemo);
        return redirect()->back();
    }
    /**
     * Send Push Notification
     *
     * @return \Illuminate\Http\Response
     */
    public function push($id, Request $request){
//        Notification::send(User::all(),new PushDemo);
//        return redirect()->back();
        $user = User::findOrFail($id);
        $user->notify(new PushDemo());
        return redirect()->back();
    }

PushDemo расширяет Уведомление:

 public function via($notifiable)
    {
        return [WebPushChannel::class];
    }

public function toWebPush($notifiable, $notification)
    {
        return (new WebPushMessage)
            ->title('Hi dude')
            ->icon('images/icons/izzy-icon-192x192.png')
            ->body('Great, Push Notifications work!')
            ->action('View App', 'notification_action');

    }

Пользователь:

use Notifiable;
use HasPushSubscriptions;

Не удалось отправить уведомление, каждый раз получая 5xx ошибок.Я что-то пропустил?

...