拉拉维尔的最近活动页面



我们有一个包含数百个模型(用户、员工、付款、任务、项目等(的大型系统。

我们想为我们的系统实现一个显示最新活动的主页(类似Facebook的页面(。此主页将非常简单,并显示如下内容:

项目#123由弗兰克史密斯修改(1小时前(。

任务 #129 由约翰库克创建(1 天前(。

等。

其中每个都将链接到修改后的模型。有没有一种"简单"的方法来实现这一点,而不必在我们所有的系统中传播代码?

我相信Laravel有一些东西可以使实现这一点变得非常简单。但似乎找不到解决方案。

为您关注的模型定义一个通用接口,以确保您可以从所有模型中提取 id、name 或任何其他信息。 (编辑:您可能不需要模型来定义用户和时间戳,因为这可以从当前时间戳和当前身份验证用户中提取(。

为"eloquent.saved"定义一个事件侦听器,用于检查模型是否实现了该接口,并使用该信息创建源"post"。

我个人会走Laravel模型观察者的路线。然后,您可以将所需的事件保存到数据库中的表中,并将其用于主页。您可以在此处阅读有关模型观察器的更多信息 - https://laravel.com/docs/5.8/eloquent#observers<</p>

div class="one_answers">

我还没有亲自使用它(很快就会使用(,但我认为这个库可能适合您的需求:https://github.com/spatie/laravel-activitylog

我希望它适用于您的情况

最新更新