创建通知时如何使用 laravel 中 toArray 函数的第二个值

How do i use a second value from my toArray function in laravel when creating a notification

我正在尝试获取用户电子邮件并在我的 html 代码中使用它,但我不确定如何执行此操作,目前这是我的代码:

public function toArray($notifiable) 
{
    return [
        'data' => $this->user->name. ' commented on your post',
    ];
}

我可以使用第一行'data'... 通过以下方式:

{{ $notification->data['data'] }}

但我正在努力弄清楚如何使用电子邮件。

我该怎么做?

目前我正在使用 {{ $notification->data['data'] }} 获取对另一个用户 post 发表评论的用户的姓名。

当用户发表此评论时,post 的所有者会收到如下所示的通知:

但我需要在 'commented on your post' 文本之前添加对 post 发表评论的用户的姓名,并且我需要电子邮件来生成个人资料图片。

如果我将上面的代码更改为:

,我可以使用电子邮件
'data' => $this->user->email

如果我将代码更改为:

,我可以使用该名称
'data' => $this->user->name

但如果我使用一个,我就不能使用另一个,或者至少我不知道如何使用。

所以我想问一下如何更改它以便我可以同时使用电子邮件和姓名?

如果您控制该数据,您应该能够按照您想要的方式对其进行格式化:

public function toArray($notifiable) {
    return [
        'commenter' => [
            'name' => $this->user->name,
            'email' => $this->user->email,
        ],
        'message' => $this->user->name. ' commented on your post',
    ];
}

$notification->data['commenter']['email'] // email
$notification->data['message']            // message