2017-08-31 90 views
0

最近我開始使用Laravel回聲,現在我有一個疑問。假設我正在開發一家網上商店。作爲我的網上商店的用戶,我有不同州的訂單清單(待處理,批准,失敗,運送等)。我想使用Laravel Echo實時更新狀態。訂閱一個頻道只爲我的訂單使用拉拉維爾回聲

我怎樣才能訂閱我的訂單上的事件,而不是網上商店的所有訂單?

Echo.channel('orders') //only my orders 
.listen('OrderStatus', (e) => { 
    console.log(e.order.status); 
}); 

感謝您的幫助。

感謝

回答

0

您可以在私人頻道聽。

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

+0

非常感謝您的幫助 –