Yii20 中国語開発ガイド - Where 条件クエリの完全な分析

WBOY
リリース: 2016-08-08 09:18:57
オリジナル
1276 人が閲覧しました

where は、Yii Model でクエリを実行するときに必須です。
ここでメソッドは

  1. static where( $condition )


として宣言されています。パラメータ $condition の型は文字列または配列
1 です。SQL で押すだけです。 where 条件、例えば

    $condition = 'name='zhidemy.com' and age>10';
2. 配列

配列の場合、2 つの形式の書き方があります。

    名前-値形式の辞書配列: ['column1' => value1, 'column2' => value2, ...]
  • 論理演算子の形式: [operator, operand1, operand2, ...]
  • 最初の書き方:
value が文字列または数値などの場合、生成される条件文の形式は

column1=value1 AND column2=value2 AND ....

['type' => ; 1, 'status' => 2]

//Generate

(type = 1) AND (status = 2)

値が配列の場合、SQL の

IN
ステートメントは次のようになります。生成される ;

['id' => [1, 2, 3], 'status' => 2]

//Generate

(id IN (1, 2, 3)) AND ( status = 2)

値が Null の場合、Is Null

ステートメントが生成されます。

['status' => null]

//Generate

status IS NULL

2 番目の記述方法は、さまざまな演算子に基づいてさまざまな SQL 条件を生成します。


      そして:
    • は AND を使用してすべてのオペランドを接続します。のように

      ['and', 'id=1', 'id=2']

      //

      id=1 AND id=2を生成

      オペランドも配列の場合、次のような形式の文字列に変換されます。

      ['and', 'type=1', ['or', 'id=1', 'id=2']]

      //

      type=1 ANDを生成(id=1 OR id= 2)

      注: このメソッドは参照またはエンコードしません。
    • or:
    • は、オペランドを接続するために OR が使用されることを除いて、and に似ています。
    • between:
    • 最初のオペランドは列の名前で、2 番目と 3 番目のオペランドは範囲の最小値と最大値です。のように

      ['between', 'id', 1, 10]

      //Generate

      id BETWEEN 1 AND 10

    • not between:
    • between は似ています。
    • in:
    • 最初のオペランドは列または DB 式で、2 番目のオペランドは次のような配列です。

      ['in', 'id', [1, 2, 3]]

      //

      id IN (1, 2, 3) を生成します

      注: このメソッドは列を参照し、配列内の値もエンコードします。
    • not in:
    • は、上記のinと似ています。
    • の例:
    • 最初のオペランドは列または DB 式で、2 番目のオペランドは文字列または配列です。

      ['like', 'name', 'tester']

      //Generate

      name LIKE '%tester%'

      値が配列の場合、複数の like ステートメントが生成され、AND が使用されます接続します。のように

      ['like', 'name', ['test', 'sample']]

      //

      name LIKE '%test%' AND name LIKE '%sample%' を生成します

      注: これメソッドは列を参照し、配列内の値をエンコードします。 場合によっては、% を自分で処理する必要がある場合は、3 番目のパラメータを使用できます。

      ['like', 'name', '%tester', false]

      //Generate

      name LIKE '%tester'

    • または like:
    • like に似ていますが、 in 2 番目のパラメーターが配列の場合、or を使用して複数の like ステートメントを接続します。
    • 好きではない:
    • 好きに似ています。
    • か似ていない:
    • に似ているか、に似ています。
    上記は、Yii20 中国語開発ガイド - Where 条件クエリの完全な分析 (内容の側面も含む) を紹介したもので、PHP チュートリアルに興味のある友人に役立つことを願っています。

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