我想在一个事务中保存两个模型,但它将用于多个视图。
我应该将该交易放在其中一个模型中吗?或者我应该以某种方式重用控制器动作?
在这种情况下,MVC模式的最佳做法是什么?
注意:我的观点包含多个模型。
答案 0 :(得分:1)
这取决于,如果您的业务逻辑告诉您每次保存模型A,模型B也应该更新/创建。然后将事务放在您的模型中,这样无论您在何处调用它(控制器,CLI),它都将适用于您的逻辑。
另一方面,如果此事务仅对当前用户请求有影响,则将其放入控制器中。
此时视图无关紧要,您可以在视图中包含任意数量的模型。它与您的业务逻辑无关。