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,其实用任意一个都可达到效果是没有区别吗?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案
  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年前

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