在不同的“通过” Laravel通知之间传递数据

时间:2018-06-27 15:53:21

标签: laravel laravel-5 laravel-5.5

您知道如何在2个不同的“通过”通知之间传递数据吗? 这种情况: 我创建了2个自定义渠道进行通知

  1. PushNotificationChannel
  2. CustomDatabase

在我的通知类中,我有这个:

class GeneralNotification extends Notification
{
    use Queueable;

    private $notificationType;
    private $sender;

    public function __construct($notificationType, $sender)
    {
        $this->notificationType = $notificationType;
        $this->sender = $sender;
    }


    public function via($notifiable)
    {
        return [CustomDatabaseChannel::class, PushNotificationChannel::class];
    }

    public function toPushNotification($notifiable)
    {
        return [
            //
        ];
    }


    public function toCustomDatabase($notifiable)
    {
       return [
            //
        ];
    }
}

因此,这将首先执行toCustomDatabase方法,然后执行toPushNotification方法。

我想要的是将数据保存到数据库中之后,将其(插入的记录)传递给toPushNotification方法。

我正在测试分配,例如:

public function toCustomDatabase($notifiable)
    {
       $this->notificationType = 'test';
       return [
            //
        ];
    }

但是当我这样做时:

public function toPushNotification($notifiable)
    {
        dd($this->notificationType);
        return [
            //
        ];
    }

它向我显示了原始的notificationType,而不是我在toCustomDatabase方法中更改的值。

1 个答案:

答案 0 :(得分:0)

我所做的是将插入的记录添加到de session()中(尽管在API中间件中会话不是持久性的,但它在请求周期内有效)。然后,在toPushNoification方法中,我返回该会话。