CModel::safeAttributes()が削除されました。セーフなアトリビュート(安全な属性)とは、個別のシナリオのために CModel::rules() で定義されたルールによって検証されたもの、という定義に変更されました。
CModel::validate(), CModel::beforeValidate(), CModel::afterValidate() が変更されました。 CModel::setAttributes(), CModel::getSafeAttributeNames() が変更され、'scenario' パラメータが削除されました。シナリオを得たり設定したりするには CModel::scenario を使用してください。
CModel::getValidators() が変更され、CModel::getValidatorsForAttribute() が削除されました。 CModel::getValidators() はモデルの scenario プロパティによって指定されたシナリオに対応するバリデータだけを返します。
CModel::isAttributeRequired() と CModel::getValidatorsForAttribute() が変更されました。 'scenario' パラメータが削除されました。そのかわりにモデルの scenario プロパティを使用してください。
CHtml::scenario が削除されました。CHtml はモデルのシナリオプロパティを使用します。
LIMIT
や OFFSET
クエリオプションがセットされている場合は、最初にプライマリテーブルだけが単独で検索され、その後で、関連する全てのオブジェクトを取得するために、もう一つの SQL 文が発行されます。
以前のバージョン 1.0.x では、デフォルトの振舞いは、イーガーローディングが N
個の HAS_MANY
または MANY_MANY
リレーションを含む場合は、N+1
個の SQL 文が生成されていました。リレーショナルテーブルのデフォルトのエイリアスは、対応するリレーション名と同じものに変更されました。
以前のバージョン 1.0.x では、デフォルトでは Yii は自動的にテーブルエイリアスを生成し、この自動生成されたエイリアスを参照するためにプレフィクスとして ??.
を使う必要がありました。
AR クエリにおけるプライマリテーブルのエイリアス名は t
固定となりました。
以前のバージョン 1.0.x ではテーブル名と同じでした。
これにより、もし既存の AR クエリコードがコラムプレフィクスとしてテーブル名を使用していた場合に互換性がなくなります。その解決はプレフィクスを t.
で置き換えることです。
Field[$i]
という表記は有効ではなくなりました。
[$i]Field
のように表記しなければなりません。
これは、配列タイプのフィールド (例えば [$i]Field[$index]
) をサポートするためです。
Found a typo or you think this page needs improvement?
Edit it on github !
Signup or Login in order to comment.