ホームページ > PHPフレームワーク > ThinkPHP > thinkphp5.1 クエリが次と等しくない

thinkphp5.1 クエリが次と等しくない

PHPz
リリース: 2023-05-29 11:35:07
オリジナル
2557 人が閲覧しました

thinkphp5.1 は現在最も人気のある PHP 開発フレームワークの 1 つで、データベース内でさまざまな複雑な操作を実行するために使用できる強力なクエリ関数を提供します。実際の開発プロセスでは、特定の値と等しくない場合にクエリを実行する必要がある場面に遭遇することがありますが、この記事では、thinkphp5.1 で不等値クエリを実行する方法を詳しく紹介します。

最初に、メソッド呼び出しチェーンを通じて SQL クエリ ステートメントを構築する thinkphp5.1 のクエリ ビルダーを理解する必要があります。たとえば、次のコードを使用して、テーブル内の ID 1 のレコードをクエリできます。

$user = Db::name('user')->where('id', 1)->find();
ログイン後にコピー

ここで、Db::name('user') は、ユーザー テーブルが操作されることを意味します。 ('id', 1) は、id=1 のレコードをクエリすることを意味します。find() は、レコードを検索して返すことを意味します。これは単純なクエリの例ですが、実際のアプリケーションでは、特定の値に等しくないいくつかのレコードをクエリする必要があります。

まず、notEq メソッドを使用して、特定の値に等しくないレコードをクエリできます。以下は例です:

$users = Db::name('user')->where('status', '<>', 1)->select();
ログイン後にコピー

ここで、notEq メソッドはステータスが 1 に等しくないすべてのレコードをクエリします。 ID が 1 に等しくないレコードをクエリする場合は、次のコードを使用できます。

$users = Db::name('user')->where('id', '<>', 1)->select();
ログイン後にコピー

where メソッドでは、>、<、> などの他の比較演算子を使用できます。 =、<;= 待ってください。ステータスが 1 と 2 に等しくないすべてのレコードをクエリしたい場合は、次のコードを使用できます:

$users = Db::name('user')->where('status', 'not in', [1, 2])->select();
ログイン後にコピー

ここで、「not in」は [1, 2] の間にない値を意味します。 in、between、not between などの他の比較演算子を使用することもできます。

空のステータスのレコードをクエリする場合は、次のコードを使用できます。

$users = Db::name('user')->where('status', 'NULL')->select();
ログイン後にコピー

ここでの「NULL」は、NULL 値を示す文字列であることに注意してください。同様に、null 以外の値をクエリすることもできます。例:

$users = Db::name('user')->where('status', 'NOT NULL')->select();
ログイン後にコピー

where メソッドの使用に加えて、whereRaw メソッドを使用して、特定の値に等しくないレコードをクエリすることもできます。以下に例を示します。

$users = Db::name('user')->whereRaw('status <> 1')->select();
ログイン後にコピー

ここでは、whereRaw メソッドを使用して、SQL ステートメント内で不等号 (<>) を直接使用できます。

最後に、クロージャー関数を使用してクエリ条件を構築することもできます。以下に例を示します。

$users = Db::name('user')->where(function($query){
    $query->where('status', '<>', 1)
          ->whereOr('name', '<>', 'admin');
})->select();
ログイン後にコピー

ここでは、クロージャ関数の where メソッドはクエリをステータス 1 のレコードと等しくないようにし、whereOr メソッドのクエリは admin という名前のレコードと等しくないようにします。

要約すると、thinkphp5.1 で特定の値に等しくないレコードをクエリするには、notEq メソッド、where メソッド、whereRaw メソッド、closure 関数、およびその他のメソッドを使用できます。現実の状況に応じて適切な方法を選択する必要があります。開発中に質問がある場合は、thinkphp5.1 公式ドキュメントを参照するか、thinkphp5.1 関連の開発コミュニティに参加して、より多くのヘルプとサポートを得ることができます。

以上がthinkphp5.1 クエリが次と等しくないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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