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 相关文章推荐
PHP中防止直接访问或查看或下载config.php文件的方法
Jul 07 PHP
基于php缓存的详解
May 15 PHP
php导入导出excel实例
Oct 25 PHP
php 强制下载文件实现代码
Oct 28 PHP
PHP统计二维数组元素个数的方法
Nov 12 PHP
PHP程序员常见的40个陋习,你中了几个?
Nov 20 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
Dec 22 PHP
php项目开发中用到的快速排序算法分析
Jun 25 PHP
thinkPHP显示不出验证码的原因与解决方法分析
May 20 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
基于Laravel 5.2 regex验证的正确写法
Sep 29 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 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生成html分页列表的代码
2007/03/18 PHP
生成卡号php代码
2008/04/09 PHP
php上的memcache和memcached两个pecl库
2010/03/29 PHP
Javascript调用XML制作连动下拉列表框
2006/06/25 Javascript
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
javascript下数值型比较难点说明
2010/06/07 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
jquery if条件语句的写法
2016/05/19 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
JavaScript动态创建二维数组的方法示例
2019/02/01 Javascript
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
举例讲解Python中装饰器的用法
2015/04/27 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
python 的topk算法实例
2020/04/02 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
Python参数传递机制传值和传引用原理详解
2020/05/22 Python
如何对python的字典进行排序
2020/06/19 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
Origins悦木之源英国官网:雅诗兰黛集团高端植物护肤品牌
2017/11/06 全球购物
Python里面如何实现tuple和list的转换
2012/06/13 面试题
J2EE中常用的名词进行解释
2015/11/09 面试题
应届生法律求职信
2013/10/22 职场文书
大学生通用个人的自我评价
2014/02/10 职场文书
数学与统计学院学生个人职业生涯规划书
2014/02/10 职场文书
大学同学十年聚会感言
2014/02/21 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
小学优秀班主任材料
2014/12/17 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
婚礼新人答谢词
2015/01/04 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
Python中的嵌套循环详情
2022/03/23 Python