如何在Codeigniter中使用内部联接获取特定数据?

时间:2019-07-12 05:32:13

标签: php mysql codeigniter

在codeigniter中实现内部联接时,我被卡住了。它没有任何条件也可以正常工作。但是当我使用where条件时,它返回空结果。 请帮助我找出问题所在。

 $this->db->select('*');
 $this->db->from('user');
 $this->db->join('issue', 'user.id = issue.uid', 'inner');
 $this->db->where('issue.uid', $id);
 $query = $this->db->get()->result_array();
 return $query;

这是最后一个查询

 SELECT * FROM `tbl_user` INNER JOIN `tbl_issue` ON `tbl_user`.`id` = 
`tbl_issue`.`uid` WHERE `tbl_issue`.`uid` = '2'

任何解决方案表示赞赏!

2 个答案:

答案 0 :(得分:0)

在我的模型中::

public function innerjoindata($id)
{
    $this->db->select('*');
    $this->db->from('user');
    $this->db->join('issue', 'user.id = issue.uid', 'inner');
    $this->db->where('issue.uid', $id);
    $query = $this->db->get()->result_array();
    return $query;
}

结果数组:::

数组 (     [0] =>数组         (             [id] => 1             [用户名] =>演示用户             [爱好] =>阅读             [uid] => 1             [健身房] =>是         )

[1] => Array
    (
        [id] => 2
        [username] => demouser
        [hobby] => reading
        [uid] => 1
        [gym] => no
    )

您的查询是100%写的,我认为您的数据库没有相关数据,这就是造成问题的原因 希望对您有帮助

答案 1 :(得分:0)

根据给定的代码,您正在提供正确的查询。请尝试直接从第二个表中获取where条件。

选择*从tbl_issuetbl_issue处。uid ='2'。