【发布时间】:2020-12-30 02:26:32
【问题描述】:
我有一个像这样的 cart 表。所以,我正在尝试根据 'id_user' 列对 'weight' 列求和strong> 列。
| id | id_user | id_product | qty | weight | subtotal |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 6 | 3000 | 399960 |
| 2 | 1 | 4 | 1 | 500 | 41864 |
| 3 | 4 | 7 | 1 | 500 | 136350 |
| 4 | 4 | 2 | 3 | 1500 | 212100 |
| 5 | 4 | 4 | 2 | 1000 | 83728 |
我想要这样的结果:
| id_user | weight |
|---|---|
| 1 | 3500 |
| 4 | 3000 |
我试过了,但结果不是我想要的。这是我的代码:
我的模特
public function getSum()
{
$totalWeight = "SELECT id_user, sum(weight) as weight FROM cart GROUP BY id_user";
$result = $this->db->query($totalWeight);
return $result->row()->weight;
}
我的控制器
public function index() {
$this->checkout->table = 'cart';
$data['totalWeight'] = $this->checkout->getSum();
}
我从上面的代码中得到的结果是这样的:
| id_user | weight |
|---|---|
| 1 | 3500 |
| 4 | 3500 |
我不知道为什么,但是每次我尝试使用不同的quantity(qty)和不同的id_user结帐时,结果都会显示在重量栏中始终为 3500 或始终遵循执行第一个结帐过程的 id_user。
我希望你们能理解并帮助我解决我的问题。谢谢:)
【问题讨论】:
标签: mysql sum codeigniter-3 cart checkout