2017-06-06 13 views
0

クエリ:CodeIgniterのQuery Builderを使用してこのクエリを作成することはできますか?

select (exists (select 1 from table1 where url = 'fajne-to-jest')) as in_table1, 
     (exists (select 1 from table2 where url = 'fajne-to-jest')) as in_table2; 

私が存在のような機能が表示されません。

私はそれが可能だとは思わないが多分私は間違っている。

CodeIgniterのクエリビルダだけでこの複雑なクエリを作成することは可能ですか?

答えて

2

あなたの例と同じように最適化されていない可能性があります。最も簡単な解決策は、Querybuilderを使用せず、query()で使用するためにステートメントを直接記述することです。

$sql = "select (exists (select 1 from table1 where url = 'fajne-to-jest')) as in_table1, 
       (exists (select 1 from table2 where url = 'fajne-to-jest')) as in_table2"; 
$query = $this->db->query($sql); 

クエリビルダ(QB)はすばらしいツールですが、しばしば(たぶん頻繁ではない場合が多い)完全に不要です。 QBの主なタスクは、クエリステートメントを作成することです。なぜ簡単に記述されたクエリを作成するために、たくさんのコードを実行するのですか?

QBは、クエリステートメントを条件付きで変更する必要がある場合に最適です。たとえば、where句の追加、ソート順の変更など。

+0

複雑なクエリと結合はすべて、ストレートクエリメソッドを使用します。 – timothymarois

関連する問題