我有这样的查询:
"SELECT product.title, SUM(order_product.item_count) AS total
FROM `order_product`
INNER JOIN product ON product.id=order_product.product_id
WHERE order_product.updated BETWEEN '$startInterval'
AND '$endInterval'
AND order_product.status=5
GROUP BY order_product.product_id"
我成功地进行了。然后,我将结果获取到一个对象。这里的麻烦是当我尝试打印" sum(order_product.item_count)"的值时:
foreach ($revenue as $value): ?>
<tr>
<td class="text-left"><?= $value->title ?></td>
<td class="text-left"> **<?= $value->SUM(order_product.item_count) ?>**</td>
</tr>
<?php endforeach; ?>
它返回错误:"致命错误:未经定义的方法stdclass :: sum()in in;帮助我,我尝试了许多别名SQL,但它不起作用。
这是查询之后的结果:
<?php
var_dump($revenue);
if(isset($revenue)):
foreach ($revenue as $value): ?>
<?= $value->title ?>
<?= $value->total ?>
<?php endforeach; endif; ?>
array(2) { [0]=> object(stdClass)#8 (2) { ["title"]=> string(7) "1234123" ["SUM(order_product.item_count)"]=> string(6) "123123" } [1]=> object(stdClass)#9 (2) { ["title"]=> string(8) "tresadas" ["SUM(order_product.item_count)"]=> string(3) "999" } }
p/s:固定!
将 <?= $value->SUM(order_product.item_count) ?>
更改为 <?= $value->total) ?>
。这是因为您将SUM(order_product.item_count)
与查询中的total
相称。
使用
$value->total
您将其定义为MySQL查询为total
,因此您可以在结果对象中使用它