MVC和模型责任

时间:2018-11-06 14:52:05

标签: laravel model-view-controller eloquent

我有一个小的Laravel项目。在这个项目中,我有一些模型,但我的问题所需的模型是UserCoursePayment模型。

User可以订阅Course(仅一个),并且需要每月支付订阅费用。

我正在创建一个新页面,该页面将根据User的当前状态显示不同的内容。如果他们付款失败,则将显示ContentA,如果所有付款都是最新的ContentB,则会显示。

从MVC架构的角度来看,在User模型hasFailedPayments()中创建一个函数将执行所有必需的操作并检查以确定User是否具有功能是否正确?付款失败?这应该由其他层之一(控制器/视图)负责吗?

目前,我正在Controller中进行检查,但是如果需要执行完全相同的检查,则需要重复此代码。

谢谢!

1 个答案:

答案 0 :(得分:4)

您是正确的,此逻辑将存在于模型中。在大多数情况下,您的大多数或所有业务逻辑都应该存在于模型中。视图在那里查看逻辑生成的数据。控制器在那里可以为模型提供视图,并控制项目的总体流程。