codeigniter中的内部联接查询



代码:

public function draft_post($idd)
{
$this->db->select('*');
$this->db->from('registration');
$this->db->join('draft_registration', 'registration.user_id= draft_registration.user_id','INNER');
$this->db->where('registration.user_id', $idd);
$query = $this->db->get();
$result = $query->result_array();
return $result;
}

在这些代码中,我有两个表,即registration and draft_registration。现在,我在这里做什么,我想在Codeigniter中运行内部联接。现在,当我在phpmyadmin上点击这个查询时,它显示了错误的数据,即draft_registration中有两行,registration表中有一行,但它总是显示两个错误的表,我的查询看起来就像我打印时一样,如下所述:

SELECT *
FROM `registration`
INNER JOIN `draft_registration` ON `registration`.`user_id`= `draft_registration`.`user_id`
WHERE `registration`.`user_id` = '20181121064044'

那么,我该如何解决这个问题?请帮帮我。

谢谢

$this->db->select('*'); //This code get all rows from both table.If you want a particular row you mention the column name.
For example:
$this->db->select('registration.name,draft_registration.city,draft_registration.state');

指定要选择的列。或者,如果您想选择表中的所有列,您可以使用:

列名上带有"倒钩的SELECT registration.*

使用以下代码

public function draft_post($idd)
{
$this->db->select('registration.*,draft_registration.*');
$this->db->from('registration');
$this->db->join('draft_registration', 'registration.user_id= draft_registration.user_id');
$this->db->where('registration.user_id', $idd);
$query = $this->db->get();
$result = $query->result_array();
return $result;
}

或者你可以使用对象

public function draft_post($idd)
{
$this->db->select('a.*,b.*');
$this->db->from('registration a');
$this->db->join('draft_registration b', 'a.user_id= b.user_id');
$this->db->where('a.user_id', $idd);
$query = $this->db->get();
$result = $query->result_array();
return $result;
}

相关内容

  • 没有找到相关文章

最新更新