想象一下,我有PostController和CommentController,当然我有Post模型和Comment模型。因此,现在我收到请求对Post和Comment模型进行一些修改的请求(也许此修改逻辑不仅结合了两个模型,而且还合并了3、4、5甚至更多模型),所以在Post或Comment中编写逻辑应该是不正确的控制器。那么我应该在哪里写这个逻辑呢?我应该新建控制器吗?
答案 0 :(得分:1)
您必须尝试使用存储库模式。
这种模式的思想是将逻辑层与控制器分开,每个模型都有一个带有逻辑的存储库,每个逻辑层,每个存储库也可以有另一个层来将查询保存到数据库(数据库)层)。
然后,您可以将该存储库插入控制器中,将槽依赖性注入插入每个控制器的构造函数中,控制器中的代码更少,逻辑更具可测试性,并且可以在多个控制器中共享逻辑无需重复。
查看此帖子:
答案 1 :(得分:0)
在我看来,您应该使用关系。 请检查文档:https://laravel.com/docs/5.7/eloquent-relationships
然后,您可以使用一个Controller轻松访问和更新两者。