php – Laravel-5每个日志表的单独模型

php – Laravel-5每个日志表的单独模型,第1张

概述我目前正在使用Laravel 5开发应用程序,我的主要表格是用户,供应商,制造商等. 这些表中的每一个都有一个单独的users_log,suppliers_log日志表.这些日志表的目的是检查为单个实体执行的 *** 作(例如:属于特定制造商的日志以及过去为该制造商所做的更改等) 我打算使用Eloquent,我为每个主要表生成了一个Eloquent模型. 我的问题:我应该为每个日志表生成单独的Eloque 我目前正在使用Laravel 5开发应用程序,我的主要表格是用户,供应商,制造商等.

这些表中的每一个都有一个单独的users_log,suppliers_log日志表.这些日志表的目的是检查为单个实体执行的 *** 作(例如:属于特定制造商的日志以及过去为该制造商所做的更改等)

我打算使用Eloquent,我为每个主要表生成了一个Eloquent模型.

我的问题:我应该为每个日志表生成单独的Eloquent模型,还是只在主表的模型中编写类似user_log()的方法来编写我的日志.

P.S:使用我的应用程序的用户数量很少,因此将日志写入数据库优先于文件日志.

我只会使用日志表,因为日志应该是简单/通用/简单的东西.

这些是我将使用的日志表列:

> ID
> user_ID(执行我们正在记录的 *** 作的用户)
>行动(所执行行动的描述:已删除的用户,更新的供应商,创建的制造商等)
> url(用于执行 *** 作的URL)
> ip(用户的IP地址)
>时间戳

考虑到这一点,您将为每个可记录的表类型提供一个标准的数据透视表,在您的情况下,它将是log_manufacturer,log_supplier和log_user(我在这里遵循Laravel表命名约定,但是请继续使用其他名称,如果你希望).

这样,您可以通过任何类型的日志进行全局搜索:

$logs = Log::where('user_ID',1)->get(); // get all logs of User 1

按特定日志类型(用户,制造商等):

$logs = Log::has('suppliers')            ->where('user_ID',1)            ->get(); // get supplier logs created by User 1

或获取由日志过滤的所有特定模型:

$manufacturers = Manufacturer::whereHas('logs',function ($query){    $query->where('user_ID',1);})->get(); // get all Manufacturers that have been manipulated by User 1

为了在日志表上创建一个新条目,我将使用Model Observers,以便在每个创建,更新或删除的 *** 作中,它将透明地处理创建.

总结

以上是内存溢出为你收集整理的php – Laravel-5每个日志表的单独模型全部内容,希望文章能够帮你解决php – Laravel-5每个日志表的单独模型所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1268028.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存