Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用laravel echo仅为我的订单订阅频道_Javascript_Php_Laravel_Echo_Subscribe - Fatal编程技术网

Javascript 使用laravel echo仅为我的订单订阅频道

Javascript 使用laravel echo仅为我的订单订阅频道,javascript,php,laravel,echo,subscribe,Javascript,Php,Laravel,Echo,Subscribe,最近我开始使用Laravel Echo,现在我有一个疑问。假设我正在开发一个网络商店。作为我的网络商店的用户,我有一个不同状态(待定、批准、失败、发货等)的订单列表。我想使用Laravel Echo实时更新状态 我怎样才能只订阅我订单上的活动,而不订阅网上商店的所有订单 Echo.channel('orders') //only my orders .listen('OrderStatus', (e) => { console.log(e.order.status); }); 谢

最近我开始使用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的一个很好的参考是