gpt4 book ai didi

php - 使用 SQL 获取空记录

转载 作者:行者123 更新时间:2023-11-29 00:44:35 25 4
gpt4 key购买 nike

我有一个表格,我可以在上面选择不同的框,并且对于每个框,数据库中都存在一些记录,即(框的开口数),但对于选定的框,可能不存在任何记录,即框甚至一次都没有打开。目前,当我选择不同的框时,如果一个框的记录不存在,它甚至不返回我想要的空数组,它甚至返回所选框的空结果。我怎样才能做到这一点?我的查询是

public function getBoxOpenings($boxes, $from_date, $to_date){
$query = $this->db->select('box_id, COUNT(box_id) AS Openings')
->from('mc_boxes_has_openings')
->where_in('box_id', $boxes)
->where('actiontime >=', $from_date)
->where('actiontime <=', $to_date)
->group_by('box_id')
->get();
$data = $query->result_array();
return $data;
}

编辑:

如果我选择 3 个框并提交表单并且记录只存在 2 个框,它会返回类似这样的内容

 Array
(
[0] => Array
(
[mc_boxes_idmc_boxes] => 12
[location] => FRA-Air
[Openings] => 1
)

[1] => Array
(
[mc_boxes_idmc_boxes] => 14
[location] => FRA-Hof
[Openings] => 1
)

)

我怎样才能得到所有三个记录,其中一个是空的

[2] => Array
(
[mc_boxes_idmc_boxes] => 16
[location] => Test
[Openings] =>
)

谢谢

最佳答案

为什么不只计算整个记录?

public function getBoxOpenings($boxes, $from_date, $to_date){
$query = $this->db->select('box_id, COUNT(*) AS Openings')
->from('mc_boxes_has_openings')
->where_in('box_id', $boxes)
->where('actiontime >=', $from_date)
->where('actiontime <=', $to_date)
->group_by('box_id')
->get();
$data = $query->result_array();
return $data;
}

虽然我不明白你的group_by子句...

关于php - 使用 SQL 获取空记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10980168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com