【发布时间】:2020-01-02 13:26:22
【问题描述】:
在我存储用户可以购买一个或多个项目的会话的应用程序中,我试图跟踪每个项目的销售状态并为卖家汇总它们(在数量和美元价值方面)
卖方仪表板示例
*SESSION 1 (Revenues: $w, Pending receipts $x)*
ITEM A: SOLD 2, AWAITING PAYMENT 1
ITEM B: SOLD 1, AWAITING PAYMENT 0
*SESSION 2 (Revenues: $y, Pending receipts $z)*
ITEM A: SOLD 4, AWAITING PAYMENT 0
ITEM C: SOLD 0, AWAITING PAYMENT 0
我可以想出两种方法来实现这一点。
- 我做了一个相对简单的查询,但结果可能意味着我有一个复杂的函数在返回之前处理该查询的结果。
- 我提出了许多具体的查询,但我可以将函数分解成更小的部分,可能将来可重复用于应用程序的其他部分。
原则上,我所读到的内容似乎表明 (2) 是更好的编码实践。但是,我还读到 PHP 中的处理比多个 SQL 查询的开销要轻得多,因此我提出了问题。
【问题讨论】:
-
您是否尝试过在 SQL 中编写查询来执行此操作。不知道它有多复杂,看起来应该很容易做到。
-
嗨,奈杰尔,我正在做这件事。实际上我在描述中犯了一个错误并已更正它。我的问题更多的是,是做一个简单的通用查询并使用 PHP 对结果进行排序(这意味着一个复杂的函数)还是做几个特定的查询并保持我的 PHP 函数简单。