本文主要為大家介紹了關於Yii 2.0中場景使用的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編一起來學習學習吧。希望對大家有幫助。
前言
熟悉Yii框架的人都知道,靈活的使用場景可以達到事半功倍的效果!
例如普通的資料的新增、修改,新增需要驗證其中兩個字段,而修改只需要驗證其中一個字段;還有種情況,也是我們現在用到的,同一張表(同一個model)有可能在不同的專案分支中使用,但是不用的專案分支對成員變數的驗證是不一樣的,這時使用場景就可以輕鬆搞定;
場景使用
public function rules() { return [ [['name', 'account', 'pwd'], 'string', 'max' => 11], ['account','required','message'=>'用户名不能为空'], ['pwd','required','message'=>'密码不能为空','on'=>'add_customer'] ]; }
對於rules中指定部分成員變數的驗證規則以及所屬場景,還是推薦上面這種寫法,當然也可以直接在類別裡面定義一個方法名為scenarios的方法;
如何使用:
1、如果需要new一個新的物件就使用某個場景,直接採用:
$bus_department = new BusDepartment(['scenario' => 'add_customer']);
2、更新資料的時候常常會用到這種:
$bus_department = BusDepartment::findOne($id);
使用場景的方法是:
$bus_department->setScenario('add_customer'); 或者 $bus_department->scenario = 'add_customer';
這樣,在操作目前物件的時候就會按照所設定的場景進行規則驗證。
相關推薦:
Yii2中join、joinwith多重資料表關聯查詢的使用方法Yii2中join、joinwith多重資料表關聯查詢的使用方法
#######以上是詳解Yii2中場景的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!