laravel 的消息通知句柄如何理解

1. 其实一直不明白像图中user模型 use Notifiable,那么可以

$user->notify(new InvoicePaid($invoice));

那么如果我在别的模型(order/address)也use Notifiable,是否也就可以这样:

$order->notify(new InvoicePaid($invoice));
$address->notify(new InvoicePaid($invoice));

最后想知道 $user、$order、 $address,其实用任意一个都可达到效果是没有区别吗?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案
  1. Trait
  2. 看1 就行了
3年前 评论
瘦肉白粥 (楼主) 3年前
瘦肉白粥 (楼主) 3年前
陈先生 (作者) 3年前
讨论数量: 6
  1. Trait
  2. 看1 就行了
3年前 评论
瘦肉白粥 (楼主) 3年前
瘦肉白粥 (楼主) 3年前
陈先生 (作者) 3年前

可以把 $user, $order 当成消息接收者

// 给指定 user 模型发送
$user = User::find(1);
$user->notify(new InvoicePaid($invoice));

// or 给多用户发送
$users = User::get();
Notification::send($users, new InvoicePaid($invoice));

前端显示 此用户的所有通知

$user = User::find(1);

foreach ($user->notifications as $notification) {
    echo $notification->type;
}

user, order 同理,只是接收的模型不一样

3年前 评论
瘦肉白粥 (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!