使用 laravel echo 仅订阅我的订单的频道
Subscribe on a channel only for my orders using laravel echo
最近我开始使用Laravel Echo,现在我有一个疑问。假设我正在开发一个网上商店。作为我的网上商店的用户,我有一个不同状态(待定、已批准、失败、发货等)的订单列表。我想使用 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 中有一些用户。
现在您需要在 routes/channels 中设置频道路由。php
Broadcast::channel('orders.{userId}', function ($user, $userId) {
return $user->id === $userId;
});
现在一个用户只能收听自己的订单频道。 Laravel Echo 的一个很好的参考是 official documentation.
最近我开始使用Laravel Echo,现在我有一个疑问。假设我正在开发一个网上商店。作为我的网上商店的用户,我有一个不同状态(待定、已批准、失败、发货等)的订单列表。我想使用 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 中有一些用户。
现在您需要在 routes/channels 中设置频道路由。php
Broadcast::channel('orders.{userId}', function ($user, $userId) {
return $user->id === $userId;
});
现在一个用户只能收听自己的订单频道。 Laravel Echo 的一个很好的参考是 official documentation.