如何将我的通知数据更改为 laravel 中评论的数据

How do i change the data of my notification to be the data from the comment in laravel

我已经设置了通知,这样当一个用户对另一个用户发表评论时 post post 的所有者会收到通知,让他们知道评论。

但目前通知只是说显示以下 return 语句中添加的内容:

public function toArray($notifiable) {
    return [
        'data' => 'Test notification'
    ];
}

但是当用户 post 发表评论时,我想用以下内容替换 'Test notification':

评论 post 的用户姓名,例如:

'John commented on your post'

我该怎么做才能始终显示评论者的用户名。

如果这有助于我在构造函数的顶部传递用户、评论和 post,如下所示:

public function __construct(User $user, Post $post, Comment $comment) {

    $this->user = $user;
    $this->comment = $comment;
    $this->post = $post;
}

看看这篇文章。它有你所有问题的答案。

the medium blog answer link

通常 $notifiable 将是 User。因此,如果您的代码属于这种情况,您可以使用它。
如果没有,使用您提供的代码,您将做类似的事情

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

您可以在此处 https://laravel.com/docs/8.x/notifications#using-the-notifiable-trait

的文档中了解有关 $notifiable 的更多信息