ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP で条件付きクエリを実行する方法
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 サイトの他の関連記事を参照してください。