如何将我的通知数据更改为 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;
}
看看这篇文章。它有你所有问题的答案。
通常 $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
的更多信息
我已经设置了通知,这样当一个用户对另一个用户发表评论时 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;
}
看看这篇文章。它有你所有问题的答案。
通常 $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
的更多信息