2010-09-17 53 views
1

用户希望看到从存储数据的一些报告的分贝 例如:MVC(笨)设计问题

在一个时间间隔内的所有销售(用户提交一个公正的时间间隔),

所有在所选择城市的销售的时间间隔(同上面,但这次额外的城市选择下拉菜单),

最畅销的20个店(另一份报告中,没有表单提交,涉及不同的数据库表),

我的问题是 如何可以完成这些任务,而无需编写为每个单独的模式,控制器和视图报告 或 每个报告具有在一个单一的控制器和模型和两个视图(一个用于表单提交1所述的方法结果)。

我必须告诉我的背景是程序编程,我很困惑。一切似乎都以一种非常复杂的方式编写基本的“开关盒”。

谢谢。

回答

1

这取决于你如何构建你的数据库。虽然有很多模型可能看起来像是矫枉过正,但我​​会建议,如果你以正确的方式接近它,你会发现它让你的生活更轻松。例如,你可以有一个处理销售的模型。在该模型中,可能有一个按日期或时间检索所有销售额的功能。这个功能可以有一个可选的参数,允许你按城市过滤。然后,您可能会在同一型号中使用另一个功能来检索前20位。 从控制器中,您将拥有一个功能。根据用户是否提交表单,这将是一个很大的陈述。如果不是,则显示表单视图(对于特定事物或至少视图片段,最好具有单独的视图)。如果数据已提交,那么只需测试数据以找出需要哪个报告,查询模型中的相关方法并将结果发送到另一个结果视图。 这样,一个控制器,一个模型,2个视图(或更多,如果您使用模板类的东西)。 我故意没有为你编写代码,但我希望这能指出你正确的方向。如果我错误理解了这个问题,或者您需要澄清,请发表评论。

+0

我很感谢你的回答。我知道你在说什么,它对我有帮助。但是我有超过100个这样的报告,并且他们使用了超过20个相互关联或无关的表格。所以我梦想着一种方式,当我添加一个新的报告给系统时,我会提供表单域和查询到一些自制的机制,它会为用户带回表单并显示报告。看起来像MCV不会让我比其他方式更容易。我正在阅读关于图书馆,帮手,插件等。我想我正在试图超越懒惰。再次感谢你。 – bezelye 2010-09-17 13:40:37