1

ユーザー用と製品用の 2 つのテーブルがあります。

ユーザー

id 名前 1 ジョン 2 ビル

製品 ID ユーザー ID 製品 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の結合に慣れていませんが、それらを理解していると思っていましたが、これは私を少し困惑させています。

4

1 に答える 1

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();

このコードを使用してクエリを投稿してください。

于 2013-11-12T11:33:43.170 に答える