Yii的scenarios
生活随笔
收集整理的這篇文章主要介紹了
Yii的scenarios
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用處
就是對于rules()的加強版本
舉個簡單的例子,現在在 post表里面有 title image content 三個的字段,當我創建一個 post 的時候,我 想三個字段全部是必填項,但是你修改的時候,title content 兩個字段是必填的, iamge 可以不填寫。正常 的情況下, [['title', 'content', 'image'], 'required',], 但是我們更改的時候 只需要 [['title', 'content'], 'required'], 就可以了,但是少了 image 字段 我們的表單就無法提交,這種問題怎么辦啊?? 場景可以幫你解決這種問題,下面是一個簡單的場景實例。?例子
1.首先我們在 model 里面定義一下場景 類名必須是 scenarios()
public function scenarios() {return ['create' => ['title', 'image', 'content'],'update' => ['title', 'content'],]; }2.場景的基本設置完成一部分了,下面我們設置?rules()?,調用場景我們用?on?關鍵字
[['title', 'content'], 'required', 'on' => ['create', 'update']], [['image'], 'required', 'on' => 'create'], [['image'], 'image', 'enableClientValidation' => true, 'maxSize' => 1024, 'message' => '您上傳的文件過 大', 'on' => ['create']],3.model 里面我們就設置完畢了 現在開始調用吧,?Controller 里面
$model = $this->findModel($id); $model->setScenario('update'); or $model->scenario = 'update';?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Yii的scenarios的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天津汽车摇号同名?
- 下一篇: 10马自达昂克赛拉亮灯,加了刹车油还是亮