CModel::safeAttributes()が削除されました。セーフアトリビュートはCModel::rules()ルール中の、個別のシナリオで設定されたものという定義に変更されました。
CModel::validate()、CModel::beforeValidate()、CModel::afterValidate()が変更されました。 CModel::setAttributes(), CModel::getSafeAttributeNames()が変更されました。 'scenario'パラメータが削除されました。シナリオを得たり設定したりするにはCModel::scenarioを使用してください。
CModel::getValidators()が変更され、CModel::getValidatorsForAttribute()が削除されました。 CModel::getValidators()はモデルのシナリオプロパティによって指定されたシナリオに対応するバリデータを返します。
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[$index])、[$i]Fieldのようになりました。
Be the first person to leave a comment
Please login to leave your comment.