CodeIgniter のクエリ ビルダーを使用してサブクエリを除外して SELECT クエリを実行するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-18 22:16:02
オリジナル
792 人が閲覧しました

How to Perform SELECT Queries with Subquery Exclusion Using CodeIgniter's Query Builder?

サブクエリ除外を使用した SELECT クエリに対する CodeIgniter のクエリ ビルダーの利用

CodeIgniter は、PHP での複雑な SQL クエリの作成を容易にする多用途のクエリ ビルダーを提供します。このようなクエリの 1 つは、サブクエリの除外を伴う SELECT クエリです。このクエリを使用すると、次の SQL ステートメントで表現されているように、別のテーブルから特定の行を除外する条件に基づいてテーブルから行を取得できます。

SELECT *
FROM certs
WHERE id NOT IN (SELECT id_cer FROM revokace);
ログイン後にコピー

CodeIgniter のクエリ ビルダーを使用してこのクエリを複製するには、次のようにします。 where() メソッドを活用します。このメソッドは、クエリ条件を表す文字列引数を受け入れます。

$this->db->select('*')
         ->from('certs')
         ->where('`id` NOT IN (SELECT `id_cer` FROM `revokace`)', NULL, FALSE);
ログイン後にコピー

このコードでは、where() メソッドの ,NULL,FALSE 引数により、CodeIgniter によるクエリのエスケープが防止され、クエリの適切な実行が保証されます。

または、サブクエリ ライブラリを使用してプロセスをさらに簡素化することもできます。

$this->db->select('*')
         ->from('certs');
$sub = $this->subquery->start_subquery('where_in');
$sub->select('id_cer')
    ->from('revokace');
$this->subquery->end_subquery('id', FALSE);
ログイン後にコピー

CodeIgniter のクエリ ビルダーとその where() メソッドまたはサブクエリ メソッドを利用することで、複雑な SELECT クエリを次のように簡単に実行できます。 PHP アプリケーションでのサブクエリの除外。

以上がCodeIgniter のクエリ ビルダーを使用してサブクエリを除外して SELECT クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート