• 技术文章 >后端开发 >php教程

    Yii2中场景的简单介绍

    *文*文2018-01-03 13:38:49原创504
    本文主要给大家介绍了关于Yii2中简单的场景使用的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来跟着小编一起学习学习吧。希望对大家有所帮助。

    直接上代码(主要部分):

    模型层:

    public function rules()
    {
     return [
      [['name', 'account', 'pwd'], 'string', 'max' => 11],
      ['account','required','message'=>'用户名不能为空'],
      ['pwd','required','message'=>'密码不能为空','on'=>'update']
     ];
    }

    控制器:

    $model = new User();
    if(isset($_POST['User'])){
     $model -> attributes = Yii::$app->request->post('User');
     $model -> save();
    }

    这个时候在控制器没有调用任何场景。他的结果是:用户名验证,密码不验证

    如果在控制器加上一句$model->scenario='update';其结果是:用户名,密码都验证了

    如果这个时候再在模型加上几句代码:

    public function scenarios()
    {
     return [
      'update'=>['pwd'],//在该场景下的属性进行验证,其他场景和没有on的都不会验证
     ];
    }

    其结果是:用户名没有验证,密码验证了

    还有要注意如果你在模型里重写了scenarios()方法,在控制器调用了场景,那调用的场景名称必须在scenarios()方法里有,否则出错!

    相关推荐:

    详解Yii2中场景的使用

    详解Yii框架如何实现记录日志到自定义文件

    详解Yii2表单小部件的使用

    以上就是Yii2中场景的简单介绍的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Yii2 介绍 场景
    上一篇:详解Yii2中场景的使用 下一篇:详解Yii如何防止并发导致的更新数据不准
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• php7.2怎么连接oracle数据库?OCI8扩展的安装• ajax在joomla中的原生态应用代码_PHP• PHP 第二节 数据类型之转换_PHP• PHP header函数分析详解_PHP• php入门教程 精简版_PHP
    1/1

    PHP中文网