【发布时间】:2014-01-13 15:48:02
【问题描述】:
我正在使用 Laravel 4 构建一个小应用程序,主要用于我自己的学习,其目的是根据他们的付款计算一群人(如室友)之间的欠款。
我对 CakePHP 有一点经验,所以我试图利用我对 MVC 架构的了解来正确地完成这项工作。
这里忽略所有的 Auth、迁移表等是我的数据库架构:
因此,基本上,假设一个“付款人”代表团体付款,payers_payments 中将记录每个付款人的付款金额以及是否包含在付款中 (pays (bool))。 payments 将获得该付款的一般信息。付款总额是与该付款相关的payers_payments.amount 的总和。
在这一点上随时阻止我,告诉我我的数据库设计是垃圾,可以做得更好。
我的理解是“业务逻辑”(从数据库中获取内容)显然会进入模型。
我应该如何构建我的应用程序,以便我可以生成一个“摘要”页面,其中包含所有付款与付款人的声明。我想做这样的东西(用纯php版本制作):
基本上需要进行一些计算才能以这种形式获取数据。他们应该去哪里?对构建应用程序有什么建议吗?假设我有所有基本控制器和模型。
【问题讨论】:
-
在模型中。任何数据处理,特别是来自数据库的数据处理,都应该在 Model 中进行。
-
我使用一个服务层来执行这个逻辑,只需添加你自己的逻辑并让 Composer/Laravel 自动加载它。
-
@AnthonySterling 你能详细说明一下吗?如何使用服务层?