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

    Yii2中场景的简单使用

    不言不言2018-06-15 16:35:42原创573
    这篇文章主要给大家介绍了关于Yii2中简单的场景使用的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来跟着小编一起学习学习吧。

    本文主要介绍的是关于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()方法里有,否则出错!

    以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

    相关推荐:

    yii2实现分页和带搜索的分页功能

    如何实现Yii框架在页面输出执行sql语句并进行调试

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

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:yii2实现分页和带搜索的分页功能 下一篇:yii2使用GridView实现数据全选及批量删除的按钮
    线上培训班

    相关文章推荐

    • 你知道这个PHP命令行选项解析库(pflag)吗?• 带你看懂PHP中的class定义类与成员属性方法• PHP中如何才能将时间日期格式化?怎么计算时间差?• 一定搞得懂PHP中如何添加图片水印• 最详细的教你PHP时间戳与日期时间的转换

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网