Laravel最近活动页面

时间:2019-03-22 13:44:38

标签: laravel laravel-5

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

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

Frank Smith修改的项目123(1小时前)。

任务#129由John Cook创建(1天前)。

每个都将链接到修改后的模型。是否有一种“简便”的方法来实现此目的而不必在我们的整个系统中传播代码?

我确信Laravel可以使实现这一过程变得非常简单。但似乎找不到解决办法。

3 个答案:

答案 0 :(得分:2)

为您要关注的模型定义一个通用接口,以确保可以从所有模型中提取ID,名称或任何其他信息。 (编辑:您可能不需要模型来定义用户和时间戳,因为可以从当前时间戳和当前auth用户获取该信息)。

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

答案 1 :(得分:1)

我个人会沿着Laravel Model Observers的路线走。然后,您可以将想要的事件保存到数据库中的表中,并将其用作主页。您可以在此处了解有关模型观察器的更多信息-https://laravel.com/docs/5.8/eloquent#observers

答案 2 :(得分:0)

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

我希望它适合您的情况