我使用一个简单的PHP框架(如Codeigniter)而没有ORM。
我有一个包含产品数据的数据库(价格,销售,目录中的页面......)。
我想计算每页的转化次数和每种产品的转化率。
使用SQL进行计算不是问题,但我真的不知道将它们放在哪里。
我应该使用像这样的方法创建“页面”和“产品”模型
"Page::getConversions($page_id)"
或"ConversionPerPage"
和"ConversionPerProduct"
模型,或者......完全是其他的。
答案 0 :(得分:2)
我认为最好的模型类是每个表有两个类 - 一个用于对象,复数用于静态类。 例如:如果您有Page表,那么您应该有Page和Pages类。 第一个允许您从表中获得一个对象,您可以在其上执行常规方法,如:
$page = new Page($page_id);
$conversions = $page->getConversions();
$page_number = $page->getNumberInBook(); etc
另一方面,在Pages类中,您可以放置将(通常)返回Page数组的方法,这些方法通常是静态的:
$pages = Pages::getPagesByCatalog($catalog_id);
通过这种方式,您将获得完整的模型MVC实现的真实OOP和代码。 我希望这个模型层次结构能够帮到你。我们在办公室里使用它,它表现得非常好。 一切顺利!
答案 1 :(得分:0)
基本上,您可以根据数据库架构创建模型。因此,首选选项。此外,它应该是实例方法而不是类方法(然后从$ page_id中识别对象)。
答案 2 :(得分:0)
据推测,无论如何你都会有Page和Product模型,所以我会把getConversions()函数添加到那些。