where子句中的Codeigniter列'idimport_database'不明确

时间:2017-07-02 19:42:47

标签: php mysql codeigniter

当我想使用codeigniter显示数据时遇到问题,请帮忙。 我附上了代码。

控制器:

public function views($idimport_database)
{
    $data['title']=$idimport_database;
    $data['header']=$this->m_transaction->detail_transaction($idimport_database)->row_array();
    $data['detail']=$this->m_transaction->detail_transaction($idimport_database)->result();
    $this->template->load('template','view_data', $data);
}

型号:

function detail_transaction($idimport_database){
    $this->db->select('*');
    $this->db->from('tbl_import_database');
    $this->db->where('idimport_database', $idimport_database);
    $this->db->join('tbl_transaksi', 'tbl_transaksi.idimport_database = tbl_import_database.idimport_database');
    return $this->db->get();
}

结果错误:

Error Number: 1052
Column 'idimport_database' in where clause is ambiguous
SELECT * FROM `tbl_import_database` JOIN `tbl_transaksi` ON `tbl_transaksi`.`idimport_database` = `tbl_import_database`.`idimport_database` WHERE `idimport_database` = '41' Filename: C:/xampp/htdocs/apriori/system/database/DB_driver.php  
Line Number: 691

1 个答案:

答案 0 :(得分:2)

错误意味着两个表(tbl_import_databasetbl_transaksi)都有一个名为idimport_database的列,并且MySQL不知道您打算在where语句中使用哪一个。

更改模型中的函数以包含表名:

$this->db->where('tbl_import_database.idimport_database', $idimport_database);