yii2.0框架场景的简单使用示例

 更新时间:2020-01-25 16:00:02   作者:佚名   我要评论(0)

本文实例讲述了yii2.0框架场景的简单使用。分享给大家供大家参考,具体如下:
一、规则中使用场景
规则场景的使用
模型层


public function rules()
{
return [

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

您可能感兴趣的文章:

  • 关于Yii中模型场景的一些简单介绍
  • Yii2中的场景(scenario)和验证规则(rule)详解
  • Yii2中简单的场景使用介绍
  • Yii 2.0中场景的使用教程
  • Yii2.0框架behaviors方法使用实例分析
  • yii2.0框架使用 beforeAction 防非法登陆的方法分析
  • YII2.0框架行为(Behavior)深入详解
  • Yii2.0框架实现带分页的多条件搜索功能示例
  • Yii2.0 RESTful API 基础配置教程详解
  • 修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)

相关文章

  • yii2.0框架场景的简单使用示例

    yii2.0框架场景的简单使用示例

    本文实例讲述了yii2.0框架场景的简单使用。分享给大家供大家参考,具体如下: 一、规则中使用场景 规则场景的使用 模型层 public function rules() { return [
    2020-01-25
  • golang切片内存应用技巧详解

    golang切片内存应用技巧详解

    在 Go 语言中切片是使用非常频繁的一种聚合类型,它代表变长的序列,底层引用一个数组对象。一个切片由三个部分构成:指针、长度和容量。指针指向该切片自己第一个元
    2020-01-25
  • 分享6个Go处理字符串的技巧小结

    分享6个Go处理字符串的技巧小结

    如果你从 Ruby 或者 Python 转型到 Go,将会有很多语言差异需要学习,其中很多问题都是围绕处理 string 类型。 下面是一些字符串的技巧,这些技巧解决了我在使用
    2020-01-25
  • 浅谈go中defer的一个隐藏功能

    浅谈go中defer的一个隐藏功能

    在开始使用Go进行编码时,Defer是要关注的一个很重要的特性。它非常简单:在任何函数中,给其他函数的调用加上前缀 defer以确保该函数在外部函数退出之前立即执行,
    2020-01-25
  • Go 验证字符串中是否包含中文(推荐)

    Go 验证字符串中是否包含中文(推荐)

    发现一个验证字符串是否包含中文滴时候,一个比正则更好使滴方法,而且是golang 自带滴验证。 不需要自己写正则验证,代码如下: package main import ( "fmt"
    2020-01-25
  • 详解golang中发送http请求的几种常见情况

    详解golang中发送http请求的几种常见情况

    方式一 使用http.Newrequest 先生成http.client -> 再生成 http.request -> 之后提交请求:client.Do(request) -> 处理返回结果,每一步的过程都可以设置一些具体
    2020-01-25
  • shell周期差量备份文件夹的实现代码

    shell周期差量备份文件夹的实现代码

    shell脚本备份 创建备份脚本 backup.sh #!/bin/sh #$# 参数个数 #提示说明 if [ $# -lt 3 ]; then echo "==============================================
    2020-01-25
  • 用go写的五子棋预测算法的实现

    用go写的五子棋预测算法的实现

    详细请看 Github:https://github.com/shanhuijie/GoWatch/tree/master/fiveinarow five in a row (五子棋成功预测) 从横、纵、 左斜升、 左斜降 四个角度判断
    2020-01-25
  • Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤

    Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤

    最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,下面是Linux下s
    2020-01-25
  • Go使用defer函数要注意的几个点

    Go使用defer函数要注意的几个点

    概述 defer 函数大家肯定都用过,它在声明时不会立刻去执行,而是在函数 return 后去执行的。 它的主要应用场景有异常处理、记录日志、清理数据、释放资源 等
    2020-01-25

最新评论