merge from yiisoft/yii2

This commit is contained in:
cuileon
2018-11-14 11:57:32 +08:00
parent 47df8a8cc0
commit 489dd119a5
426 changed files with 18465 additions and 4215 deletions

View File

@ -7,14 +7,14 @@ Yii は [[yii\data\Sort]] オブジェクトを使って並べ替えのスキー
* [[yii\data\Sort::$attributes|attributes]] データの並べ替えに使用できる *属性* を指定します。
単純で良ければ、[モデルの属性](structure-models.md#attributes) をこの属性とすることが出来ます。
また、複数のモデル属性や DB のカラムを結合した合成的な属性を指定することも出来ます。
詳細については後述します。
* [[yii\data\Sort::$attributeOrders|attributeOrders]] 各属性について、現在リクエストされている並べ替えの方向を指定します。
また、複数のモデル属性や DB のカラムを結合した合成的な属性を指定することも出来ます。詳細については後述します。
* [[yii\data\Sort::$attributeOrders|attributeOrders]] 各属性について、
現在リクエストされている並べ替えの方向を指定します。
* [[yii\data\Sort::$orders|orders]] 並べ替えの方向をカラムを使う低レベルな形式で示します。
[[yii\data\Sort]] を使用するためには、最初にどの属性が並べ替え可能であるかを宣言します。
次に、現在リクエストされている並べ替え情報を [[yii\data\Sort::$attributeOrders|attributeOrders]] または [[yii\data\Sort::$orders|orders]] から取得して、データのクエリをカスタマイズします。
例えば、
次に、現在リクエストされている並べ替え情報を [[yii\data\Sort::$attributeOrders|attributeOrders]]
または [[yii\data\Sort::$orders|orders]] から取得して、データのクエリをカスタマイズします。例えば、
```php
use yii\data\Sort;
@ -37,10 +37,9 @@ $articles = Article::find()
->all();
```
上記の例では、[[yii\data\Sort|Sort]] オブジェクトに対して二つの属性が宣言されています。
すなわち、`age``name` です。
上記の例では、[[yii\data\Sort|Sort]] オブジェクトに対して二つの属性が宣言されています。すなわち、`age``name` です。
`age` 属性は `Article` アクティブレコード・クラスの `age` 属性に対応する *単純な* 属性です。
`age` 属性は `Article` アクティブレコード・クラスの `age` 属性に対応する *単純な* 属性です。
これは、次の宣言と等価です。
```php
@ -65,8 +64,9 @@ $articles = Article::find()
設定されていない場合は、[[yii\helpers\Inflector::camel2words()]] が呼ばれて、属性名からラベルが生成されます。
ラベルは HTML エンコードされないことに注意してください。
> Info: [[yii\data\Sort::$orders|orders]] の値をデータベースのクエリに直接に供給して、`ORDER BY` 句を構築することが出来ます。
データベースのクエリが認識できない合成的な属性が入っている場合があるため、[[yii\data\Sort::$attributeOrders|attributeOrders]] を使ってはいけません。
> Info: [[yii\data\Sort::$orders|orders]] の値をデータベースのクエリに直接に供給して、
`ORDER BY` 句を構築することが出来ます。 データベースのクエリが認識できない合成的な属性が入っている場合があるため、
[[yii\data\Sort::$attributeOrders|attributeOrders]] を使ってはいけません。
[[yii\data\Sort::link()]] を呼んでハイパーリンクを生成すれば、それをクリックして、指定した属性によるデータの並べ替えをリクエストすることが出来るようになります。
[[yii\data\Sort::createUrl()]] を呼んで並べ替えを実行する URL を生成することも出来ます。