從版本 1.0 升級到 1.1
=================================

與 Model Scenarios 相關的改變
------------------------------------

- 刪除了 CModel::safeAttributes()。安全屬性被定義為由 CModel::rules() 為特定場景指定的規則來驗證。

- 改變了 CModel::validate(), CModel::beforeValidate() 和 CModel::afterValidate()。 CModel::setAttributes()， CModel::getSafeAttributeNames() 參數 'scenario' 被刪除。你必須透過 CModel::scenario 來存取它。

- 改變了 CModel::getValidators() 並刪除了 CModel::getValidatorsForAttribute()。CModel::getValidators() 現在只回傳適用於 Model 指定的 scenario 的驗證器。

- 改變了 CModel::isAttributeRequired() 和 CModel::getValidatorsForAttribute()。Scenario 參數被刪除，改成使用 Model 的 scenario 屬性。

- 刪除了 CHtml::scenario。 CHtml 將使用 model 的 scenario 屬性。


與 Relational Active Record 的 Eager Loading 相關的改變 
---------------------------------------------------------------

- 預設上，eager 載入涉及到的所有關聯，只有一條 JOIN 述句將被產生並執行。若主要資料表有它的 `LIMIT` 或 `OFFSET` 查詢選項，它將會單獨的事先查詢，然後執行其他 SQL 述句以取回其所有關聯物件 。在版本 1.0.x 之前，預設的行為是，若一個 eager 載入涉及到 `N` 個 `HAS_MANY` 或 `MANY_MANY` 關聯，將有 `N+1`  個 SQL 語句。

與 Relational Active Record 資料表別名相關的改變 
------------------------------------------------------------

- 現在一個關聯表資料的預設別名和對應的關聯的名字相同。 在版本 1.0.x 之前，預設情況下 Yii 將自動為每個關聯資料表產生一個別名，我們必須使用前綴 `??.` 來指向自動產生的別名。

- 在 AR 查詢中的主資料表的別名固定為 `t`。在之前的版本 1.0.x，它和資料表的名字相同。在清楚的標示 column 前綴
為資料表名稱的情況下，會造成現有的 AR 查詢中斷，解決辦法是替換這些前綴為 `t.`。


與 Tabular 輸入相關的改變
----------------------------------

- 對於屬性名字，使用 `Field[$i]` 不再是有效的，它們應當類似於 `[$i]Field`，這是為了支援陣列類型的字段 (例如 `[$i]Field[$index]`)。

其他改變
-------------

- [CActiveRecord] 建構器的簽章已改變。第一個參數(屬性列表) 已刪除。

<div class="revision">$Id$</div>
