订阅一个频道只为我的订单使用拉拉维尔回声
问题描述:
最近我开始使用Laravel回声,现在我有一个疑问。假设我正在开发一家网上商店。作为我的网上商店的用户,我有不同州的订单清单(待处理,批准,失败,运送等)。我想使用Laravel Echo实时更新状态。订阅一个频道只为我的订单使用拉拉维尔回声
我怎样才能订阅我的订单上的事件,而不是网上商店的所有订单?
Echo.channel('orders') //only my orders
.listen('OrderStatus', (e) => {
console.log(e.order.status);
});
感谢您的帮助。
感谢
答
您可以在私人频道听。
Echo.private('orders.' + user.id) //only your orders
.listen('OrderStatus', (e) => {
console.log(e.order.status);
});
假设你在javascript中有一些用户。
现在你需要建立一个通道路线在你的路由/ channels.php
Broadcast::channel('orders.{userId}', function ($user, $userId) {
return $user->id === $userId;
});
现在,用户只能听自己的订单渠道。 Laravel Echo的一个很好的参考是official documentation。
非常感谢您的帮助 –