したがって、2つのテーブルがあり、where句の条件を満たすテーブル1からすべての行を取得し、結合条件に基づいてそれらをテーブル2と結合します。
サンプルテーブルは次のとおりです。
table1:
col1 col2 col3
1 a val1
2 b val2
3 c val3
table2:
col1 col3
1 someval1
2 someval2
3 someval3
ここで、col1 = 2であるテーブル1のすべての行を取得し、それらの行をtable2.col1 = table1.col1であるtable2の行と結合します。それは理にかなっていますか?
CIを作成してからしばらく経ちましたが、 このドキュメントページ のとおり、ソリューションは次のようになります。
$this->db->select('*');
$this->db->from('table1');
$this->db->join('table2', 'table1.col1 = table2.col1');
$this->db->where('table1.col1', 2);
$query = $this->db->get();
noteこの回答は、CodeIgniterでの作業を推奨するものとは決して解釈されません;-)
これを試して :
$this->db->select('*'); // Select field
$this->db->from('table1'); // from Table1
$this->db->join('table2','table1.col1 = table2.col1','INNER'); // Join table1 with table2 based on the foreign key
$this->db->where('table1.col1',2); // Set Filter
$res = $this->db->get();
それが役に立てば幸い :)
$this->db->select('book_id, book_name, author_name, category_name');
$this->db->from('books');
$this->db->join('category', 'category.category_id = books.category_id');
$this->db->where('category_name', 'Self Development');
$query = $this->db->get();
// Produces SQL:
select book_id, book_name, author_name, category_name from books
join category on category.category_id = books.category_id
where category_name = "Self Development"