【发布时间】:2017-12-22 11:53:31
【问题描述】:
目前我在创建和更新模型后使用观察者来处理一些事情。
我想通过使用 laravel-echo 使其实时更新我的应用程序,但我无法找到有关将 laravel-echo 与观察者(而不是事件)结合使用的文档。
您可以将事件及其广播功能与它们各自的侦听器结合使用来获得此功能,但我更喜欢观察者的更简洁的代码(不那么“魔法”)。
查看 laravel 框架的代码,我可以看到 observable 仍然使用 eloquent 事件,所以我怀疑有办法广播这些事件。
所以我的问题是:有没有一种方法可以使用laravel-echo 广播雄辩的事件,而无需创建单独的事件或在每个事件上手动添加广播语句?
【问题讨论】:
-
我现在处于同样的位置。我试图在观察者中实现 ShouldBroadcast 但没有运气。你有没有找到任何魔法更少的解决方案?
-
我会说你不能。但是您可以编写一个动态事件,它将处理您所有的观察者。如果您给我们一个更具体的例子来说明您想要实现的目标,我们可以找到解决方案。例如,您可以编写事件,这将从被调用的观察者那里获取所有更改并将其传递给广播频道。
-
快速查看代码后,看起来对于模型事件,模型被视为被调度的事件,因此尝试将
ShouldBroadcast接口添加到您的模型中,并定义@ 987654325@方法实现接口。这是未经测试的,因此请告诉我们这是否符合您的要求。 -
@mimo 我当前的项目有一些观察者处理雄辩的事件(创建、保存等)我需要用它们的当前状态广播模型。
-
您是否要广播所有模型事件?或者只是某些模型上的某些事件?
标签: laravel-echo laravel-echo laravel-echo laravel observers laravel-echo