阅读(2117) (10)

Laravel 8 广播数据

2021-06-30 16:36:16 更新

当一个事件被广播时, 它的所有 public 属性都会被自动序列化并作为事件的有效负载进行广播,这允许你从 JavaScript 应用程序访问它的任何公共数据。所以,例如,如果你的事件有一个包含 Eloquent 模型的公共 $user 属性, 该事件广播载入内容将如下所示:

{
    "user": {
        "id": 1,
        "name": "Patrick Stewart"
        ...
    }
}

但是,如果你希望对广播载入的内容进行更细粒度的控制,可以在事件中添加 broadcastWith 方法。 此方法将返回一个数据数组作为你希望广播事件所载入的内容:

/**
 * 获取广播数据
 *
 * @return array
 */
public function broadcastWith()
{
    return ['id' => $this->user->id];
}