2012-01-30 42 views
1

我使用CodeIgniter进行了以下查询。我想要一个包含每个组的单个行的列表,如果它是“1”,我希望该行包含liveBlogGroupRecord状态。Codeigniter SQL Join查询没有返回我想要的数据

现在,我要么只得到行对具有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

我认为如果您向我们展示一些示例数据以及您想要选择的数据中的哪一行,则会更容易回答此问题。 – 2012-01-31 22:21:02

回答

0

如何添加$this->db->limit(1);$query = $this->db->get();

+0

这将使整个查询返回一行。 – 2012-01-31 22:19:47

1

小心SELECT *。假设您的blogGroupsgroups表都有一个id(或具有相同名称的另一列),则只有第一个表会在另一个表中返回。

选择性地选择您需要的列。尝试这样的事情:

$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 */