2连接条件codeigniter给出错误

时间:2015-06-17 10:48:43

标签: codeigniter join conditional-statements

我有2个表 - 用于订单和这些订单的文档。我想显示第一张表中的所有订单,如果有这些订单的文件,则显示文件的日期(我从表documents获取日期)。 我试图制作2个连接条件,因为在表documents中,如果我只加入idOrder,则有超过1行,我必须加入documents.name,与$ this->相同; URI->链段(3)。 但我使用以下代码,它给了我错误。我可以用这种方式使用2个连接条件:

我的模特是:

<?php
 public function get_all_orders($user_id){

        $this->db->select('ordersheader.*, customer.name as customerName,documents.date_make');
        $this->db->from('ordersheader');
        $this->db->join('customer', 'ordersheader.idCustomer = customer.idCustomer');
        $this->db->join('documents', 'ordersheader.idOrder = documents.idOrder','left'); 
        $this->db->join('documents as D', 'D.name="declaration"','left'); 


        $this->db->where('ordersheader.user_id', $user_id);
        $query = $this->db->get();
        return $query->result_array();
    }

编辑:我找到了解决方案。但它是用纯sql编写的,如何用Codeingiter语法编写它?我的新工作代码是:

&#13;
&#13;
<?php
 $query=("SELECT ordersheader.*, customer.name as customerName,documents.date_make,documents.deactivated_at
            FROM ordersheader JOIN customer ON  ordersheader.idCustomer = customer.idCustomer
            LEFT JOIN documents
            ON ordersheader.idOrder = documents.idOrder AND documents.name = '".$document."' 
            WHERE ordersheader.user_id = '".$user_id."' ");
 $result = $this->db->query($query);
      return $result->result_array(); 
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您的查询错误

.so

您可以使用 $this->db->join('documents as D', 'D.name="declaration"','left'); 子句

来比较列
where