我应该在哪里编写结合两个模型的控制器逻辑

时间:2018-12-10 14:34:32

标签: php laravel orm

想象一下,我有PostController和CommentController,当然我有Post模型和Comment模型。因此,现在我收到请求对Post和Comment模型进行一些修改的请求(也许此修改逻辑不仅结合了两个模型,而且还合并了3、4、5甚至更多模型),所以在Post或Comment中编写逻辑应该是不正确的控制器。那么我应该在哪里写这个逻辑呢?我应该新建控制器吗?

2 个答案:

答案 0 :(得分:1)

您必须尝试使用​​存储库模式。

这种模式的思想是将逻辑层与控制器分开,每个模型都有一个带有逻辑的存储库,每个逻辑层,每个存储库也可以有另一个层来将查询保存到数据库(数据库)层)。

然后,您可以将该存储库插入控制器中,将槽依赖性注入插入每个控制器的构造函数中,控制器中的代码更少,逻辑更具可测试性,并且可以在多个控制器中共享逻辑无需重复。

查看此帖子:

答案 1 :(得分:0)

在我看来,您应该使用关系。 请检查文档:https://laravel.com/docs/5.7/eloquent-relationships

然后,您可以使用一个Controller轻松访问和更新两者。