php - 如何让用户根据他们所在的组订阅推送频道?
问题描述
每个用户都放在一个组中,我的网站有 5 个组。我只希望将 X 组中的事件广播给 X 组中的客户。如何创建这样的频道并让客户订阅它们?
Pusher.logToConsole = true;
var pusher = new Pusher('ec160cc0a1ca15e463f4', {
cluster: 'eu',
forceTLS: true
});
var channel = pusher.subscribe("{{Player::where('user_id', Auth::user()->id)->first()->group_id}}");
channel.bind('NewPurchase', function(data){
window.alert('successful!');
});
我在我的后端创建这些自定义组就好了
public function broadcastOn()
{
return [Player::where('user_id', $this->product->seller_id)->first()->group_id];
}
我不断收到“找不到类播放器”,也许是因为我在那里的 php 似乎没有被阅读?
解决方案
由于Player
是模型,因此通过完全限定名称对其进行实例化
var channel = pusher.subscribe("{{\App\Player::where('user_id', Auth::user()->id)->first()->group_id}}");
public function broadcastOn()
{
return [App\Player::where('user_id', $this->product->seller_id)->first()->group_id];
}
推荐阅读
- c# - 如何生成楼梯?
- python-2.7 - 导入 ConfigParser (Python 2.7.12) 时编译的控制台应用程序立即退出
- vba - 如何调整访问表单的大小以适应屏幕
- r - 使用 tidyr::complete 扩展数据框以填充时保留一列
- reactjs - 从 Babel 6 转换到 Babel 7 时出现意外的令牌导出
- r - 关于部分参数匹配的永无止境的警告
- javascript - 可以使用这样的速记条件来构建字符串吗?
- django - django 表单不保存更新的值
- elasticsearch - Elastic Go 找不到文档
- type-conversion - 如何在 CAPL 中将十六进制字符串转换为字节数组?