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 相关文章推荐
第十节 抽象方法和抽象类 [10]
Oct 09 PHP
PHP 面向对象详解
Sep 13 PHP
php 批量添加多行文本框textarea一行一个
Jun 03 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
Aug 14 PHP
php实现mysql备份恢复分卷处理的方法
Dec 26 PHP
PHP实现的简单缓存类
Jul 29 PHP
CI分页类首页、尾页不显示的解决方法
Mar 28 PHP
php遍历解析xml字符串的方法
May 05 PHP
Zend Framework框架中实现Ajax的方法示例
Jun 27 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 PHP
php PDO属性设置与操作方法分析
Dec 27 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版(5)
2006/10/09 PHP
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
php过滤敏感词的示例
2014/03/31 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
PHP调用wsdl文件类型的接口代码分享
2014/11/19 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
Windows7下的php环境配置教程
2015/02/28 PHP
PHP整合七牛实现上传文件
2015/07/03 PHP
详解php中反射的应用
2016/03/15 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
PHP中遍历数组的三种常用方法实例分析
2019/06/24 PHP
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
js字符串转成JSON
2013/11/07 Javascript
详解Vue.js分发之作用域槽
2017/06/13 Javascript
用vue构建多页面应用的示例代码
2017/09/20 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
监听element-ui table滚动事件的方法
2019/03/26 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
Python字符串对象实现原理详解
2019/07/01 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
党员民主生活会整改措施
2014/09/26 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
《去年的树》教学反思
2016/02/18 职场文书
宝塔更新Python及Flask项目的部署
2022/04/11 Python