【ciフレームワーク】ciフレームワーククエリーにおけるjoinの使用

3343 ワード

このIDがpeopleテーブルにある情報をAテーブルの各IDで問い合わせる.文は次のとおりです.
$this->db->from('A');
$this->db->join('B', 'sites.id = B.id');

このIDがBテーブルにある情報をAテーブルの各IDで問い合わせる.
SQLの約束に注意してください.1つのカラム名が2つのテーブルで重複している場合は、カラム名の前にテーブル名と「.」番号を付ける必要があります.そのためsites.idは位置テーブルの中でidが存在するテーブルがsitesであることを意味します.SQLマルチテーブルクエリーを行うときは、カラム名を一意性の標識にすると、曖昧さを避けることができ、自分で明らかにすることができます.
次の文を実行します.

  
  
  
  
  1. $this->db->select('*');
  2. $this->db->from('blogs');
  3. $this->db->join('comments', 'comments.id = blogs.id');
  4.  
  5. $query = $this->db->get();


sql
SELECT * FROM blogs JOIN comments ON comments.id = blogs.id

クエリーで複数の接続を使用する場合は、この関数を複数回呼び出すことができます.
JOINのタイプを指定する必要がある場合は、この関数の3番目のパラメータで指定できます.オプションには、left、right、outer、inner、left outer、right outerがあります.$this->db->join('comments', 'comments.id = blogs.id', 'left');

// : LEFT JOIN comments ON comments.id = blogs.id