失控的模特

时间:2015-06-10 12:46:57

标签: oop laravel laravel-5

我们在公司使用laravel,我们遵循两个简单的约定:

  1. 控制器应该很薄。
  2. 模型表示数据库实体(用户,角色,汽车)
  3. 现在我们面临一个两难境地:我们有一个屏幕,其中表示复杂的数据图表,需要一些长而重的逻辑才能生成。但是我们应该把所有这些逻辑放在哪里呢?控制器应该很薄 - 所以不要在控制器中。模型代表数据实体,因此它不能成为模型,因为此屏幕显示来自所有其他模型的数据,但不具有实际的表/数据库实体。服务听起来不像一个正常的地方。

    我想知道你是如何处理类似情况的

1 个答案:

答案 0 :(得分:0)

我会把逻辑投入使用。在服务中,您可以运行其他服务(如果某些逻辑已经在其他服务中或服务非常复杂)并使用存储库(或模型以防您不使用任何存储库)。当然,将大代码或逻辑放入控制器是没有意义的,因为它们可以运行将返回所需输出的服务。