我使用CodeIgniter进行以下查询。我想要一个列表,其中包含每个组的一行,我希望该行包含liveBlogGroupRecord
状态,如果它是" 1"。
现在,我只获得具有liveBlogGroupRecord=1
的组的行,或者,如果我对该行进行注释,则会从同一组中获取多个组行,因为blogGroups
表具有多个旧值在其中有liveBlogGroupRecord=0
。
$this->db->select('*');
$this->db->from('groups');
$this->db->join('blogGroups', 'groups.groupID = blogGroups.groupID', 'left');
$this->db->where('blogGroups.blogID', $blogID);
$this->db->where('blogGroups.liveBlogGroupRecord', 1);
$query = $this->db->get();
答案 0 :(得分:1)
小心SELECT *
。假设您的blogGroups
和groups
表都有id
(或其他具有相同名称的列),那么当您JOIN
另一个时,只会返回第一个表
有选择地选择您需要的列。尝试这样的事情:
$this->db->select('groups.*');
/* And more selectively, whichever elements you have from `blogGroups` that you need (I have no idea what those are) */
$this->db->select('blogGroups.name');
$this->db->select('blogGroups.description');
$this->db->select('blogGroups.category');
/* etc */
答案 1 :(得分:0)
如何在$this->db->limit(1);
$query = $this->db->get();