【发布时间】:2012-01-14 23:27:11
【问题描述】:
我一直在思考/研究结合 ORM 工具处理我的实体日期的最佳方法。目前我正在使用 Doctrine2(php 5.3) 和 MySQL 驱动程序(如果有人需要知道的话)。
所以我的情况如下:我有一个系统可以跟踪来自合作分包商的 WorkOrder 及其发票。因此,WorkOrder 可能有许多由相同/不同分包商提交的发票,这些发票将在给定的支付期间汇总。这笔款项将支付给分包商。我的问题是处理获取属于特定支付期/或任何日期范围的发票的最佳方式是什么?作为一个例子,我有一个表格,显示一年中每个星期的每个分包商的总数,但我也显示一个月的总数等。此外,我有一个日历视图,它显示按天和周聚合的相同发票。
目前,我传递了一个日期范围(fromDate/thruDate)以及一个配置为迭代结果集并根据不同标准(例如聚合结果的时间单位和处理总计的计算器)组成集合的类基于用户角色和/或发票类型的发票。到目前为止,这种方式似乎非常灵活,但是我担心获取 10,000 张发票、让学说水合对象、迭代结果集,然后在我的视图中再次迭代以显示对性能的影响。我想我可以通过查看自定义水合器来消除我迭代结果步骤的一步。
我也一直在考虑设置一个实体,每个日期从系统的“起源日期”到相关的当前/未来日期,与周/月/季度/年的关系,这将节省我的麻烦从结果集中形成我自己的集合。这种方法看起来会很好,特别是因为当我通过一个日期范围来获取要在日历上显示的发票时,我必须找到并传递 fromDates 和 thruDate ,因为周数如何,它们通常会延伸到上个月和未来几个月总计。我开始更倾向于这种方法,但是当我开始实施它时,我有一种感觉,我会开始遇到问题。
现在已经够啰嗦了,我就问问。谁能给我关于这个主题的任何指示/提示/经验教训/阅读材料/等。
感谢您的宝贵时间。
【问题讨论】:
-
tl;dr 抱歉,有什么问题?
标签: php database database-design orm doctrine-orm