Yii 2.0中场景的使用教程

发布时间 - 2026-01-11 01:38:51    点击率:

前言

熟悉Yii框架的人都知道,灵活的使用场景可以达到事半功倍的效果!

比如普通的数据的新增、修改,新增需要验证其中两个字段,而修改只需要验证其中一个字段;还有种情况,也是我们现在用到的,同一张表(同一个model)有可能在不同的项目分支中使用,但是不用的项目分支对成员变量的验证是不一样的,这时使用场景就可以轻松搞定;

场景使用

1、Yii2中简单的场景使用在这里有说明: https://www./article/115231.htm

2、但是对于初学者可能还是不能灵活的应用:

 public function rules()
 {
 return [
  [['name', 'account', 'pwd'], 'string', 'max' => 11],
  ['account','required','message'=>'用户名不能为空'],
  ['pwd','required','message'=>'密码不能为空','on'=>'add_customer']
 ];
 }

对于rules中指定部分成员变量的验证规则以及所属场景,还是推荐上面这种写法,当然也可以直接在类里面定义一个方法名为scenarios的方法;

如何使用:

1、如果需要new一个新的对象就使用某个场景,直接采用:

 $bus_department = new BusDepartment(['scenario' => 'add_customer']);

2、更新数据的时候经常会用到这种:

 $bus_department = BusDepartment::findOne($id);

使用场景的方法是:

 $bus_department->setScenario('add_customer'); 或者 $bus_department->scenario = 'add_customer';

这样,在操作当前对象的时候就会按照所设定的场景进行规则验证。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# yii2.0  # 场景  # yii2  # 设置场景  # 关于Yii中模型场景的一些简单介绍  # Yii2中的场景(scenario)和验证规则(rule)详解  # Yii2中简单的场景使用介绍  # Yii2.0框架behaviors方法使用实例分析  # yii2.0框架使用 beforeAction 防非法登陆的方法分析  # YII2.0框架行为(Behavior)深入详解  # Yii2.0框架实现带分页的多条件搜索功能示例  # Yii2.0 RESTful API 基础配置教程详解  # 修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)  # yii2.0框架场景的简单使用示例  # 为空  # 就会  # 在这里  # 有可能  # 的人都  # 可以直接  # 只需要  # 我们现在  # 事半功倍  # 这篇文章  # 其中一个  # 谢谢大家  # 可以达到  # 经常会  # 如何使用  # 就可以  # 有疑问  # https  # www  # htm 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在云主机快速搭建网站站点?  Linux安全能力提升路径_长期防护思维说明【指导】  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  如何在Windows 2008云服务器安全搭建网站?  实例解析angularjs的filter过滤器  Laravel怎么在Blade中安全地输出原始HTML内容  大连 网站制作,大连天途有线官网?  🚀拖拽式CMS建站能否实现高效与个性化并存?  canvas 画布在主流浏览器中的尺寸限制详细介绍  Laravel怎么调用外部API_Laravel Http Client客户端使用  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  浅述节点的创建及常见功能的实现  网站建设整体流程解析,建站其实很容易!  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  如何快速建站并高效导出源代码?  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  如何用IIS7快速搭建并优化网站站点?  潮流网站制作头像软件下载,适合母子的网名有哪些?  如何快速生成可下载的建站源码工具?  网站页面设计需要考虑到这些问题  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  怎么用AI帮你设计一套个性化的手机App图标?  高端建站三要素:定制模板、企业官网与响应式设计优化  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  微信小程序 require机制详解及实例代码  高端云建站费用究竟需要多少预算?  Android使用GridView实现日历的简单功能  Linux系统命令中tree命令详解  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  java获取注册ip实例  Linux系统运维自动化项目教程_Ansible批量管理实战  原生JS实现图片轮播切换效果  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  JavaScript如何实现继承_有哪些常用方法  java中使用zxing批量生成二维码立牌  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  EditPlus中的正则表达式 实战(2)  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】