Laravel中的条件广播

时间:2016-06-10 16:32:09

标签: php laravel socket.io pusher

在事件中使用implement ShouldBroadcast时是否有一种简单的有条件广播方式?例如:

/**
 * Get the channels the event should be broadcast on.
 *
 * @return array
 */
public function broadcastOn()
{
    if ($x == 2) return;
    return ['test_channel'];
}

不幸的是,上面的代码仍然会创建排队的作业,它不会成功并继续尝试但不能,因为它没有通道名称。有没有一种简单的方法来抑制使用$x == 2创建的作业?

2 个答案:

答案 0 :(得分:1)

broadcastOn函数必须返回一个数组。

如果您不想在任何频道播放,请返回一个空数组。

if ($x == 2) return [];

答案 1 :(得分:0)

只需添加为Laravel,现在就可以在涉及此场景的事件上支持lists = [u1, l1, u2, l2] lambda21 = tuple(tuple(lists[n][index] for index in t) for n, t in enumerate(lambda21)) 方法。

例如;

broadcastWhen()