yii2.0框架场景的简单使用示例


Posted in PHP onJanuary 25, 2020

本文实例讲述了yii2.0框架场景的简单使用。分享给大家供大家参考,具体如下:

一、规则中使用场景

规则场景的使用

模型层

public function rules()
{
  return [
    [['name','product_id'],'required','on'=>'add],
  ];
}

表示只在add场景下改规则才生效。

在控制器中指定场景:

$model->scenario = "add";

或者

$model = new User(['scenario' => 'add']);

最后使用函数触发验证:

$model->load(Yii::$app->request->post()) //加载值
$model->validate() //证规则

当验证不通过时可以直接刷新页面

return $this->refresh();

二、场景方法定义字段在固定场景下才能被修改

模型层

public function scenarios()
{
  return [
    'default' => ['table_name', 'field_name'],//默认所有场景都可以操作
 'add' => ['age', 'name'],
 'update' => ['age'],
  ];
}

表示:

添加场景(add) 只会添加 age和name两个字段的值到数据库

修改场景(uodate)只会把age的值修改

所以一般情况下是不会重写scenarios方法,当动态增加字段时还得手动修改方法里的字段

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php5.2.0内存管理改进
Jan 22 PHP
利用php+mysql来做一个功能强大的在线计算器
Oct 12 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
php中拷贝构造函数、赋值运算符重载
Jul 25 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
PHP实现将textarea的值根据回车换行拆分至数组
Jun 10 PHP
PHP设置头信息及取得返回头信息的方法
Jan 25 PHP
PHP根据session与cookie用户登录状态操作类的代码
May 13 PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
Oct 13 PHP
PHP实现的曲线统计图表示例
Nov 10 PHP
php 删除一维数组中某一个值元素的操作方法
Feb 01 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 #PHP
laravel框架模型和数据库基础操作实例详解
Jan 25 #PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 #PHP
laravel框架中间件简单使用方法示例
Jan 25 #PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
Jan 23 #PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
Jan 23 #PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
Jan 23 #PHP
You might like
扩展你的 PHP 之入门篇
2006/12/04 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
jQuery表单验证之密码确认
2017/05/22 jQuery
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
Vue-cli3项目配置Vue.config.js实战记录
2018/07/29 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
Python爬取附近餐馆信息代码示例
2017/12/09 Python
python编写微信远程控制电脑的程序
2018/01/05 Python
Python中生成器和迭代器的区别详解
2018/02/10 Python
Linux下python与C++使用dlib实现人脸检测
2018/06/29 Python
pycharm安装及如何导入numpy
2020/04/03 Python
PyQt5实现登录页面
2020/05/30 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
值传递还是引用传递
2015/02/08 面试题
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
自我评价格式
2014/01/06 职场文书
心得体会的写法
2014/09/05 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python