gpt4 book ai didi

php - Codeigniter - 事件记录 - sql - 复杂连接

转载 作者:可可西里 更新时间:2023-11-01 13:16:52 25 4
gpt4 key购买 nike

我有一个从表中检索所有标签的函数:

function global_popular_tags() {
$this->db->select('tags.*, COUNT(tags.id) AS count');
$this->db->from('tags');
$this->db->join('tags_to_work', 'tags.id = tags_to_work.tag_id');
$this->db->group_by('tags.id');
$this->db->order_by('count', 'desc');
$query = $this->db->get()->result_array();
return $query;
}

我有另一个名为“work”的表。 “工作”表有一个“草稿”列,其值为 1 或 0。我希望 COUNT(tags.id) 考虑带有特定标签的工作是否处于草稿模式 (1)。

例如,假设有 10 件作品被标记为“设计”。 COUNT 将为 10。但是其中 2 件作品处于草稿模式,因此 COUNT 实际上应该为 8。我该如何管理?

最佳答案

尝试改变:

$this->db->from('tags');
$this->db->join('tags_to_work', 'tags.id = tags_to_work.tag_id');

收件人:

$this->db->from('tags, work');
$this->db->join('tags_to_work', 'tags.id=tags_to_work.tag_id AND work.id=tags_to_work.work_id');

并添加:

$this->db->where('work.drafts', 0);

关于php - Codeigniter - 事件记录 - sql - 复杂连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5195627/

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