首页 > 解决方案 > 错误号:1066 不是唯一的表/别名:codeigniter 中的“tb_perumahan”

问题描述

所以我想做一个卖房子的网站,但是当我尝试用过滤器连接两个表时,却出现了这个错误......

我试图交换表,但它仍然错误。

$this->db->select('*');
      $this->db->from('tb_rumah');
      $this->db->join('tb_perumahan', 'tb_perumahan.id_perumahan = tb_rumah.id_perumahan');
      $perumahan = $this->db->get_where('tb_perumahan', ['id_perumahan' => $id_rumah])->row_array();

那么,谁能帮我解决这个错误?

标签: phpmysqlcodeigniterjoinwhere

解决方案


通过使用 aget_where()之后的方法join(),您可以从同一个表中选择两次,并为每个表使用相同的名称,我想您不打算这样做。
尝试将get_where()方法更改为where()并更改其参数:

$this->db->select('*');
$this->db->from('tb_rumah');
$this->db->join('tb_perumahan', 'tb_perumahan.id_perumahan = tb_rumah.id_perumahan');
$perumahan = $this->db->where('tb_perumahan.id_perumahan', $id_rumah)->row_array();

推荐阅读