【问题标题】:codeigniter - select from 2 tables with same column namecodeigniter - 从具有相同列名的 2 个表中选择
【发布时间】:2015-10-18 00:32:29
【问题描述】:

这个模型的问题是,如果在imagini_produse 中没有找到记录,则来自$this->_tableid_produs 将是空的,因为它将被imagini_produse 表中的空id_produs 替换。

我怎样才能避免这种情况?

function entries_by_limit($limit, $start) {
    $this->db->select('*');
    $this->db->from("$this->_table a");
    $this->db->join('imagini_produse b', "b.id_produs = a.id_produs", "left");
    $this->db->limit($limit, $start);
    $result = $this->db->get();
    //print_r($this->db->last_query());
    return $result->result();
}

【问题讨论】:

  • 尝试硬编码表名$this->db->from("some_table_name a"); 并尝试返回$result->result_array();

标签: php mysql codeigniter


【解决方案1】:

请检查代码。

function entries_by_limit($limit=100, $start=0) {
    $this->db->select('a.sameColumnName as Acolumn, b.sameColumnName as Bcolumn');
    $this->db->from($this->_table ." as a");
    $this->db->join('imagini_produse b', "b.id_produs = a.id_produs", "left");
    $this->db->limit($limit, $start);
    $result = $this->db->get();
    print_r($this->db->last_query());
    return $result->result();
}

【讨论】:

    【解决方案2】:

    试试这个:

    function entries_by_limit($limit=100, $start=0) {
        $this->db->select('*');
        $this->db->from("your_table_name a");
        $this->db->join('imagini_produse b', "b.id_produs = a.id_produs", "left");
        $this->db->limit($limit, $start);
        $result = $this->db->get();
        print_r($this->db->last_query());
        return $result->result();
    }
    

    【讨论】:

      猜你喜欢
      • 2018-10-20
      • 2020-01-03
      • 2019-02-10
      • 1970-01-01
      • 2020-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多