下面的 SQL 查询在 Propel (1.4) 中是什么样子的?
SELECT SUM(`price_equipment`) FROM `order_equipment` WHERE `order_id` = 57072;
我用谷歌做了一些研究,但我发现的所有例子都考虑到了 GROUP BY 子句。我只需要一个值。
下面的 SQL 查询在 Propel (1.4) 中是什么样子的?
SELECT SUM(`price_equipment`) FROM `order_equipment` WHERE `order_id` = 57072;
我用谷歌做了一些研究,但我发现的所有例子都考虑到了 GROUP BY 子句。我只需要一个值。
在这里添加分组语句不会有什么坏处,因为它有助于汇总您的语句,只需按您的 orderId 分组。如果您不希望分组,只需删除该行。
$value = OrderEquipmentQuery::create()
->withColumn('SUM(price_equipment)')
->filterByOrderId(57072)
->groupByOrderId()
->find()
这就是您在 1.6 中的操作方式,对于 1.4,我将查看 j0k 给出的示例,但请记住,在查询中按 orderId 分组可能是安全的
我认为 Propel 1.4 的语法类似于:
$c = new Criteria();
$c->add(OrderEquipmentPeer::ORDER_ID, $orderId);
TestPeer::addSelectColumns($c);
$c->addAsColumn('price_sum', 'SUM('.OrderEquipmentPeer::PRICE_EQUIPMENT.')');
$results = OrderEquipmentPeer::doSelectStmt($c);
从 1.4 开始很难找到文档,因为他们已经杀死了 propelorm.org 上的旧 wiki,但我认为这是正确的。正如我在其他评论中所说,您应该考虑升级到 Propel 1.6,因为它具有更多功能和更好的稳定性。据我所知,1.4 分支根本没有得到维护。