我有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语法编写它?我的新工作代码是:
<?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;
答案 0 :(得分:0)
您的查询错误
.so
您可以使用 $this->db->join('documents as D', 'D.name="declaration"','left');
子句
where