我需要一些帮助,因为我似乎无法掌握这个概念。
在一个框架中,即Yii
,我们创建了与database tables
对应的模型。我们从CActiveRecord
扩展它们。
但是,如果我想创建一个可以从其他模型获取某些数据的类,但是然后会根据这些结果进行所有计算并对它们执行某些操作......那么我该如何处理?
我想明确划分责任,所以我不希望将所有计算都放在基于源数据库的模型中。基本上这个想法是它将从某些模型中获取一些东西,然后用计算结果更新另一个模型。
我该怎么办?
感谢您的帮助!
答案 0 :(得分:3)
要使用模型的Yii 解释,您必须创建类,这取决于CModel
。它是一个抽象类,因此您需要实现attributeNames()
方法。
要在此新结构中使用其他“模型”,您需要在构造函数中注入它们,或者在创建自定义模型后立即注入它们。
在真正的MVC模型中是一个层,它主要包含两组具有特定职责的类:域业务逻辑和数据访问操作。负责域业务逻辑的对象不知道信息存储的位置和来源。或者即使存在“数据库”这样的事情。
此视频可能会解释一下:https://vimeo.com/21173483