使用Ignited-Datatables类的codeigniter卡在连接中

时间:2013-12-26 22:55:45

标签: php mysql sql codeigniter

我在codeigniter中使用这个库

https://github.com/IgnitedDatatables/Ignited-Datatables/blob/master/application/libraries/Datatables.php

并且内部连接有问题,没有任何连接对我有效。

$this->load->library('datatables');
   $this->datatables
        ->select("id, date, customer_name, inv_total, total_tax, total_discount, 
                total, paid_by, cf1, cf2")
        ->from('sales')
        ->join('customers', 'customers.id=sales.customer_id', 'INNER')
        ->unset_column('id');
         echo $this->datatables->generate();

cf1和cf2在customers表中我想要检索那些

2 个答案:

答案 0 :(得分:0)

由于您正在使用内部联接,并且两个表都包含名为id的字段,因此mysql会返回字段歧义的错误。所以你应该通过tablename.feildname引用这些字段。

 $this->datatables
        ->select("sales.id, date, customer_name, inv_total, total_tax, total_discount, 
                total, paid_by, cf1, cf2")
        ->from('sales')
        ->join('customers', 'customers.id=sales.customer_id', 'INNER')
        ->unset_column('sales.id');
         echo $this->datatables->generate();

答案 1 :(得分:0)

试试这些。

注意:您没有在选择查询中包含客户表名。

$this->load->library('datatables');
$this->datatables
    ->select("id, date, customer_name, inv_total, total_tax, total_discount, total, paid_by, customers.cf1, customers.cf2")
    ->from('sales')
    ->join('customers', 'customers.id=sales.customer_id', 'INNER')
    ->unset_column('id');
     echo $this->datatables->generate();