yii2 场景 scenarios 的使用

来源:互联网 发布:unity3d 人物模型贴图 编辑:程序博客网 时间:2024/04/30 03:05

原文转自   IT技术擎


有的项目中希望在不同的场景中,需求不一样。
比如说  email 属性在注册时强制要求有,但在登陆时不需要
这样我们就出现了两个场景
一个是登录   login
一个是注册   register
解决的办法是在对应的model里面添加一个公共的方法
public function scenarios()  
然后在该方法里面添加我们自己定义的场景
代码如下
public function scenarios()
    {
        $parent_scenarios = parent::scenarios();//继承父类的场景
        //定义自己的场景
        $self_scenarios =  [
            'login' => ['username', 'password'],//登录的时候需要的字段
            'register' => ['username', 'email', 'password'],//注册的时候需要的字段
        ];
        //合并场景        
        return array_merge($parent_scenarios,$self_scenarios);
    }


0 0
原创粉丝点击