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 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
PHP中路径问题的解决方案
Oct 09 PHP
PHP递归调用的小技巧讲解
Feb 19 PHP
PHP SPL使用方法和他的威力
Nov 12 PHP
Yii框架登录流程分析
Dec 03 PHP
php冒泡排序与快速排序实例详解
Dec 07 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
Feb 17 PHP
PHP利用Socket获取网站的SSL证书与公钥
Jun 18 PHP
php实现的rc4加密解密类定义与用法示例
Aug 16 PHP
PHP实现SMTP邮件的发送实例
Sep 27 PHP
实例分析10个PHP常见安全问题
Jul 09 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按行读取文件时删除换行符的3种方法
2014/05/04 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
vue实现PC端录音功能的实例代码
2019/06/05 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
[08:04]TI4西雅图DOTA2前线报道 海涛探访各路人马
2014/07/09 DOTA
MySQL最常见的操作语句小结
2015/05/07 Python
使用Python求解最大公约数的实现方法
2015/08/20 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
分析经典Python开发工程师面试题
2019/04/08 Python
Python Flask 搭建微信小程序后台详解
2019/05/06 Python
python使用Matplotlib改变坐标轴的默认位置
2019/10/18 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
python装饰器三种装饰模式的简单分析
2020/09/04 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
大门门卫岗位职责
2013/11/30 职场文书
优秀教师工作感言
2014/02/16 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
女生节标语
2014/06/26 职场文书
安全责任书怎么写
2014/07/28 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
解析Java中的static关键字
2021/06/14 Java/Android
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android