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的FTP学习(二)[转自奥索]
Oct 09 PHP
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
PHP之变量、常量学习笔记
Mar 27 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
Nov 30 PHP
php替换超长文本中的特殊字符的函数代码
May 22 PHP
php实现的Cookies操作类实例
Sep 24 PHP
PDO防注入原理分析以及注意事项
Feb 25 PHP
laravel中的错误与日志用法详解
Jul 26 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
Aug 17 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
PHP中有关长整数的一些操作教程
Sep 11 PHP
laravel 数据验证规则详解
Oct 23 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的autoload机制的实现解析
2012/09/15 PHP
php递归json类实例
2014/12/02 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
用函数式编程技术编写优美的 JavaScript
2006/11/25 Javascript
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
python使用folium库绘制地图点击框
2018/09/21 Python
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
如何写一份好的英文求职信
2014/03/19 职场文书
给小学生的新年寄语
2014/04/04 职场文书
司法所长先进事迹
2014/06/02 职场文书
历史学专业求职信
2014/06/19 职场文书
书法兴趣小组活动总结
2014/07/07 职场文书
课外活动总结范文
2014/07/09 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android