ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP で条件付きクエリを実行する方法

ThinkPHP で条件付きクエリを実行する方法

PHPz
PHPz転載
2023-05-29 18:36:021630ブラウズ

1. where メソッドを使用してクエリ条件を追加する

ThinkPHP では、where メソッドを使用してクエリ条件を追加できます。 where メソッドには 2 つのパラメーターがあります。最初のパラメーターはクエリ条件で、2 番目のパラメーターはクエリ条件のバインド パラメーターです。 ID 1 または 2 のレコードをクエリするには、次のコードを使用できます。

$map['id'] = array('eq',1);
$map['id'] = array('eq',2);
$data = M('table_name')->where($map)->select();

最初にクエリ条件を個別に定義し、1 つは ID 1、もう 1 つは ID 2 とし、それらを $in に追加しました。マップ配列。次に、where メソッドを使用して、この配列をクエリ操作に渡します。クエリ結果は、条件を満たすレコードの配列を返します。

2. 配列メソッドを使用してクエリ条件を渡す

where メソッドの使用に加えて、配列メソッドを使用してクエリ条件を渡すこともできます。この方法を使用すると、$map 配列にクエリ条件を追加するだけで済みます。次のコードを使用して、テーブル内のどのレコードの ID が 1 または 2 に等しいかをクエリできます。

$map['id'] = array('in', '1,2');
$data = M('table_name')->where($map)->select();

コード内でクエリ条件を定義しましたが、これは $map 配列内の ID に限定されます。 1 または 2 であること。 「in」演算子を使用して、ID 1 または 2 のレコードを均一に取得しました。このようにして、「or」クエリ条件を簡単に設定できます。

3. 文字列のスプライシングを使用する

文字列のスプライシングを使用して、「or」クエリ条件を実装できる場合があります。たとえば、条件 A と条件 B の両方を満たすレコードを取得する場合は、次のコードを使用できます。

$map['字段名'] = array('exp', '(条件A) OR (条件B)');
$data = M('table_name')->where($map)->select();

上記のコードでは、exp 演算子を使用して 2 つの条件 SQL を含む文字列を渡します。声明。正しいロジックを保証するには、この条件を括弧で囲む必要があることに注意してください。

以上がThinkPHP で条件付きクエリを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。