在CI中加入()替换密钥id

时间:2013-11-11 16:57:22

标签: mysql codeigniter join

我有两个表,一个用于用户,一个用于产品。

用户

id名称 1约翰 2法案

产品 id userId产品 1 1测试 2 2测试

我在模型中创建了一个搜索功能,因此我可以调用usermodel-> search($ productId)。在此函数中,Products表通过用户表连接查询,如下所示:

return $this->db->join(UserModel::TABLE_NAME, ProductModel::TABLE_NAME . '.userId = ' . UserModel::TABLE_NAME . '.id')->get($this->_tableName); 

我遇到的问题是产品ID正在被userId取代。有人能指出正确的方向,为什么会发生这种情况?我是一个加入sql的菜鸟,以为我理解它们,但这让我感到莫名其妙。

1 个答案:

答案 0 :(得分:3)

请你试试这个:

    $this->db->select('Users.id as user_id,Products.id as product_id'); // you can write other fields using comma 
    $this->db->from("Users");        
    $this->db->join("Products",'Products.userId = Users.id','LEFT');
    $query = $this->db->get();     
    echo $this->db->last_query();   
    return $query->result_array();

请您使用此代码发布查询。