"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "docs/guide-ja/db-query-builder.md" between
yii2-2.0.35.tar.gz and yii2-2.0.36.tar.gz

About: Yii 2 is a high-performance component-based PHP framework for developing large-scale Web applications (source).

db-query-builder.md  (yii2-2.0.35):db-query-builder.md  (yii2-2.0.36)
skipping to change at line 595 skipping to change at line 595
$query2 = (new \yii\db\Query()) $query2 = (new \yii\db\Query())
->select('id, type, name') ->select('id, type, name')
->from('user') ->from('user')
->limit(10); ->limit(10);
$query1->union($query2); $query1->union($query2);
``` ```
[[yii\db\Query::union()|union()]] を複数回呼んで、`UNION` 句をさらに追加することが出来ます。 [[yii\db\Query::union()|union()]] を複数回呼んで、`UNION` 句をさらに追加することが出来ます。
### [[yii\db\Query::withQuery()|withQuery()]] <span id="with-query"></span>
[[yii\db\Query::withQuery()|withQuery()]] メソッドは SQL クエリの `WITH` プレフィックスを指定するものです
。サブクエリの代りに `WITH` を使うと読みやすさを向上させ、ユニークな機能(再帰 CTE)を利用することが出来ます。詳細は [modern-sql](ht
tps://modern-sql.com/feature/with) を参照して下さい。例えば、次のクエリは `admin` の持つ権限をその子も含めて全て再帰
的に取得します。
```php
$initialQuery = (new \yii\db\Query())
->select(['parent', 'child'])
->from(['aic' => 'auth_item_child'])
->where(['parent' => 'admin']);
$recursiveQuery = (new \yii\db\Query())
->select(['aic.parent', 'aic.child'])
->from(['aic' => 'auth_item_child'])
->innerJoin('t1', 't1.child = aic.parent');
$mainQuery = (new \yii\db\Query())
->select(['parent', 'child'])
->from('t1')
->withQuery($initialQuery->union($recursiveQuery), 't1', true);
```
[[yii\db\Query::withQuery()|withQuery()]] を複数回呼び出してさらなる CTE をメイン・クエリに追加することが出来ます
。クエリはアタッチされたのと同じ順序でプリペンドされます。クエリのうちの一つが再帰的である場合は CTE 全体が再帰的になります。
## クエリ・メソッド <span id="query-methods"></span> ## クエリ・メソッド <span id="query-methods"></span>
[[yii\db\Query]] は、さまざまな目的のクエリのために、一揃いのメソッドを提供しています。 [[yii\db\Query]] は、さまざまな目的のクエリのために、一揃いのメソッドを提供しています。
- [[yii\db\Query::all()|all()]]: 各行を「名前-値」のペアの連想配列とする、結果の行の配列を返す。 - [[yii\db\Query::all()|all()]]: 各行を「名前-値」のペアの連想配列とする、結果の行の配列を返す。
- [[yii\db\Query::one()|one()]]: 結果の最初の行を返す。 - [[yii\db\Query::one()|one()]]: 結果の最初の行を返す。
- [[yii\db\Query::column()|column()]]: 結果の最初のカラムを返す。 - [[yii\db\Query::column()|column()]]: 結果の最初のカラムを返す。
- [[yii\db\Query::scalar()|scalar()]]: 結果の最初の行の最初のカラムにあるスカラ値を返す。 - [[yii\db\Query::scalar()|scalar()]]: 結果の最初の行の最初のカラムにあるスカラ値を返す。
- [[yii\db\Query::exists()|exists()]]: クエリが結果を含むか否かを示す値を返す。 - [[yii\db\Query::exists()|exists()]]: クエリが結果を含むか否かを示す値を返す。
- [[yii\db\Query::count()|count()]]: `COUNT` クエリの結果を返す。 - [[yii\db\Query::count()|count()]]: `COUNT` クエリの結果を返す。
 End of changes. 1 change blocks. 
0 lines changed or deleted 27 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)