我需要使用 codeigniter 中的数据表连接两个表

Posted

技术标签:

【中文标题】我需要使用 codeigniter 中的数据表连接两个表【英文标题】:I need to join two tables using datatables of codeignitor 【发布时间】:2021-04-05 21:52:58 【问题描述】:

我试过了

$this->datatables
     ->select($this->db->dbprefix('companies').".id as id, company as sname", false)
     ->from("companies")
     ->join("(select finance, name as sname from payment) d", 'd.finance = companies.finance','left')
     ->where("category_id",$parent_id);

但输出只显示公司名称,我需要在名称列中同时显示公司名称和付款名称。

【问题讨论】:

【参考方案1】:

试试这个:

$query = $this->db->select('*')
            ->from('companies')
            ->join('payment d', 'd.finance = companies.finance', 'left');
            ->where('category_id', $parent_id);
            ->get();
        
return $query->result();

【讨论】:

【参考方案2】:

更简单的方法是“SQL查询”而不是ORM:

$params = array();
$sql =   "select * from companies c 
            left join payment   d 
              on d.finance=c.finance 
           where category_id = ?";

array_push($params, $parent_id);
$result = $this->db->query($sql, $params)->result_array();
return $result;

【讨论】:

以上是关于我需要使用 codeigniter 中的数据表连接两个表的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter 中的多个连接

无法使用 sqlsrv 从 CodeIgniter 连接 SQL 数据库

在 Codeigniter 中动态加载数据库连接数据

Codeigniter 无法使用连接方法从数据库表中删除行

CodeIgniter 多个数据库持久连接?

如何使用codeigniter创建另一个数据库连接