codeigniter将id从一个表的id更改为另一个

时间:2013-08-12 19:58:32

标签: php mysql sql codeigniter activerecord

我在codeigniter中有一个活动记录查询的代码:

$this->db->join('user', 'user.id = purchase_req.owner_id', 'inner');
$this->db->where('user.employer_id', $User->employer_id);
$Purchase_req = $this->Purchase_req->find();

在没有join语句的视图中,$Purchase_req->id将返回实际的购买请求ID。在具有联接的视图中,$Purchase_req->id返回用户ID。我如何一起加入表格,仍然可以获得购买请求ID,而不是更改为user.id?

1 个答案:

答案 0 :(得分:3)

你想要实现的id是mysql的模糊,因为这两个表都有id列,因此当你试图访问$Purchase_req->id时,它将返回来自purchase_req的最后一个id列表,您需要为连接表中的相同列添加唯一别名,如

$this->db->select('`user`.*,`purchase_req`.*,`user`.id AS user_id')
$this->db->join('user', 'user.id = purchase_req.owner_id', 'inner');
$this->db->where('user.employer_id', $User->employer_id);
$Purchase_req = $this->Purchase_req->find(); 

现在,当您回显$Purchase_req->user_id时,它将返回user.id