CodeIgniterのJOIN句で、ONに複数条件を設定する方法
2017-09-26 2019-02-18
CodeIgniterは、学習コストが低い軽量フレームワークとしては結構優れてると思っていますが、色々機能的に「これどうなの?」という点が少なくありません。
今回のJOIN句に複数条件を設定する方法もまさにそれ。
複数条件のON
1 2 3 4 |
$this->db->select('a.id'); $this->db->select('b.name'); $this->db->from('a'); $this->db->join('b', 'b.a_id = a.id AND b.catgoery_id = 1', 'LEFT', false); |
まさかの、第二引数にべた書き。大分酷い。
ちなみに、joinの第4引数にfalseを設定しないと、バッククォートで「1」の部分が囲まれてエラーになります。
※バッククォートで囲まれた箇所はカラム名として認識されるため
1 2 3 4 5 |
$this->db->select('a.id'); $this->db->select('b.name'); $this->db->from('a'); $this->db->join('b', 'b.a_id= a.id'); $this->db->and_on('b.category_id', 1); |
せめてこういう感じにしたらどうかと思うのですが、駄目なんですかね。
※このコードは動きません