Yii-query-builder
提供:Dev Guides
Yii-クエリビルダー
クエリビルダーを使用すると、プログラムでSQLクエリを作成できます。 クエリビルダーを使用すると、より読みやすいSQL関連のコードを記述できます。
クエリビルダーを使用するには、次の手順に従う必要があります-
yii \ db \ Queryオブジェクトを作成します。
クエリメソッドを実行します。
ステップ1 *-クエリビルダーの一般的な使用法を示すには、 *actionTestDb メソッドをこのように変更します。
ステップ2 *- *http://localhost:8080/index.php?r = site/test-db に移動すると、次の出力が表示されます。
Where()関数
- where()関数は、クエリのWHEREフラグメントを定義します。 *WHERE 条件を指定するには、3つの形式を使用できます。
- 文字列形式-'name = User10'
- ハッシュ形式-['name' ⇒ 'User10'、 'email ⇒ user10@gmail.com']
- 演算子形式-['like'、 'name'、 'User']
文字列形式の例
出力は次のようになります。
ハッシュ形式の例
出力は次のようになります。
演算子形式では、次の形式で任意の条件を定義することができます-
演算子はすることができます-
- and − ['and'、 'id = 1'、 'id = 2']は、id = 1 AND id = 2を生成します:または オペレーター
- between -['between'、 'id'、1、15]は、ID BETWEEN 1 AND 15を生成します
- not between -between演算子に似ていますが、BETWEENはNOT BETWEENに置き換えられます
- in -['in'、 'id'、[5,10,15]]はid IN(5,10,15)を生成します
- not in -in演算子に似ていますが、INはNOT INに置き換えられます
- like -['like'、 'name'、 'user']は、名前LIKE '%user%'を生成します
- *またはlike *-like演算子に似ていますが、ORを使用してLIKE述語を分割します
- not like -like演算子に似ていますが、LIKEはNOT LIKEに置き換えられます
- *またはnot like *-not like演算子に似ていますが、ORを使用してNOT LIKE述語を連結します
- exists -yii \ db \ Queryのインスタンスでなければならない1つのオペランドが必要です クラス
- not exists -exists演算子に似ていますが、NOT EXISTS(サブクエリ)式を作成します
- * <、⇐、>、> =、*、またはその他のDB演算子:['<'、 'id'、10]はid <10を生成します
演算子形式の例
出力は次のようになります。
OrderBy()関数
- orderBy()*関数は、ORDER BYフラグメントを定義します。
例-
出力は次のようになります。
groupBy()関数
- groupBy()関数はGROUP BYフラグメントを定義し、 having()*メソッドはHAVINGフラグメントを指定します。
例-
出力は次のようになります。
- limit()および offset()メソッドは、 *LIMIT および OFFSET フラグメントを定義します。
例-
次の出力を見ることができます-
- * all()*-名前と値のペアの行の配列を返します。
- * one()*-最初の行を返します。
- * column()*-最初の列を返します。
- * scalar()*-結果の最初の行と最初の列からスカラー値を返します。
- * exists()*-クエリに結果が含まれているかどうかを示す値を返します
- * count()* COUNTクエリの結果を返します
- その他の集計クエリメソッド-sum($ q)、average($ q)、max($ q)、min($ q)が含まれます。 $ qパラメーターは、列名またはDB式のいずれかです。