Codeigniter - 子表

时间:2016-10-18 18:17:58

标签: php mysql codeigniter

我有两个表blogcategory,其中blog.categoryid=category.id。在下面的代码片段中,我获得了至少一篇博文的活跃类别列表。

$this->db->select('c.*',FALSE);
$this->db->from('category c');
$this->db->where('c.cattype','posts');
$this->db->where('c.activefrom <=', date('Y-m-d'));
/* TODO - where category has atleast one blog post */
$this->db->limit(10,$offset);
$query = $this->db->get();
$result = $query->result_array();

上面的代码段提供了有效的类别列表,但我需要通过至少一篇博文来实现活动类别列表

1 个答案:

答案 0 :(得分:1)

如果你通过category加入(内联接)blog表到category.id表和分组,那么你有一个至少有一篇博文的类别列表。

添加以下行:

$this->db->join('blog', 'blog.categoryid = category.id');
$this->db->group_by('c.id');

有关详情,请访问:https://www.codeigniter.com/userguide2/database/active_record.html