【发布时间】:2021-06-06 15:15:56
【问题描述】:
表购物车插件
目前获得:
[134]
-[52]
[135]
-[49]
预期输出为数组:
[134]
-[52]
[135]
-[49]
-[50]
-[51]
这意味着基于每个 cart_id 只获取一行
型号
function get_total_sum_of_addons_by_cartid($id)
{
$this->db->query("SET sql_mode=(SELECT REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', ''));"); //prevent error of non aggregate columns
$this->db->select('a.aid');
$this->db->from('cart_addons AS a, cart as c');
$this->db->where('a.cart_id', $id);
$this->db->group_by('a.cart_id');
$query = $this->db->get('cart_addons');
$result_array = $query->result_array();
return $result_array;
}
无法弄清楚为什么我无法获得异常输出,感谢任何帮助。
【问题讨论】:
-
结果与您现在使用 group by 的方式一样。只有当您想使用 sum 或任何其他聚合函数时,才需要 Group by。在表之间使用常规 JOIN 以获得所需的结果。
-
您也可以尝试按两列分组,看看您是否更接近预期结果:
$this->db->group_by(array("a.cart_id", "a.aid")); -
感谢您的建议。
标签: php sql codeigniter