0

我已经设置了通知,以便当用户对其他用户发表评论时,帖子的所有者会收到通知,让他们知道评论。

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

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

但是当用户发表评论时,我想用以下内容替换“测试通知”:

评论帖子的用户的姓名,例如:

'John commented on your post'

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

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

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

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

2 回答 2

0

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

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

您可以在此处了解有关$notifiable文档的更多信息https://laravel.com/docs/8.x/notifications#using-the-notifiable-trait

于 2020-12-21T13:35:45.540 回答
-1

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

中型博客答案链接

于 2020-12-21T13:10:00.550 回答