YII场景

  YII在模型中定义场景后

public function scenarios(){//场景
        return [
            ‘sco1‘=>[‘aid‘,‘uphone‘],
            ‘sco2‘=>[‘aid‘,‘uphone‘,‘status‘],
        ];
    }

  在控制器中调用场景时,场景定义之外的字段会在操作时被过滤掉

public function actionSenorio(){
        $test = new Code();
        $test->scenario = "sco1";
        $testData = [
            ‘data‘=>[‘aid‘=>3,‘uphone‘=>‘015889383625‘],
        ];
        $test->load($testData,‘data‘);//在使用load前需要制定场景
        echo $test->aid;//3

        /**
         * 博客系统
         * 写文章时和修改文章时需要保留不同的字段,其他字段会被忽略
        **/
    }
时间: 2024-11-10 11:03:42

YII场景的相关文章

Yii 不完全解决方案(二)

最近遇到的 Yii 问题还挺多,再次献上几个 Yii 问题的解决方案.     1.关联表查询相同字段出错. 有时候我们建了两个表,但是两个表有相同的字段,在用 CDbCriteria 进行 with 关联查询搜索时候,如果没有进行额外设置,那会出现查询错误,大概的意思就是 Mysql 语句模糊.这时候,我们在主表设置一个别名就好了,然后查询相关字段的时候注意把 名字加上就行. 比如:两个 Model, Post 和 User,都有一个 id, 在 我们可以像下面这样写: $criteria=n

YII安装和使用

一.下载安装 http://www.phperz.com/article/14/1211/40633.html 解决证书错误 http://my.oschina.net/yearnfar/blog/346727 http://www.yiichina.com/tutorial/324 http://www.yiichina.com/doc/guide/2.0/start-installation 其中前面步骤都是安装composer的东西.若安装了composer可以直接到第六步 下载安装包安装

yii 定义场景

定义场景可以限制对字段的增删改查操作

为speedphp最新版添加 仿Yii 的简易版 数据验证 支持不同场景,自定义回调

给个意见或建议吧 扩展一个Model基类 <?php class BaseModel extends Model{ use ValidationRules; public function rules(){} } /** * 验证参数规则 */ trait ValidationRules{ public $_data; public $errors = []; // 验证产生的错误 public $scene = 'default'; // 场景 ['update','create'] priv

Yii学习笔记之四(表单验证 api 翻译)

1.表单验证 对于用户输入的所有数据,你不能信任,必须加以验证. 所有框架如此,对于yii 可以使用函数 yii\base\Model::validate()  进行验证 他会返回boolean值的 true /false 如果验证未通过,可以使用 yii\base\Model::$errors 属性进行处理,如下代码: <?php //加载表单模型(绝对地址方式) /*如果上面引入 use app\models\ContactForm; 则可以直接使用 $model = new Contact

Yii 2.0 中事件的使用

关于PHP的事件处理,参照 http://www.cnblogs.com/mafeifan/p/4322238.html http://www.cnblogs.com/mafeifan/p/4322271.html 为什么要使用事件?可能我们会有下面的业务需求,每当一个新用户注册成功会我们要给管理员发封邮件,还要有推送通知. 之前的代码可能是这样 if($model->save()){ // 注册成功, 跳转 } 要变成这样 if($model->save()){ $mailObj->s

Yii Framework2.0开发教程(8)输入验证

validate() 方法,在幕后为执行验证操作.先看一个简单的例子,例子的代码在<Yii Framework2.0开发教程(2)使用表单Form>. 类ZhyoulunController中函数actionEntry() ,其中有一句$model->validate(),就是来判断输入的名字和电子邮件是否正确. 修改models/EntryForm.php <?php namespace app\models; use yii\base\Model; class EntryFor

YII缓存依赖的应用

YII缓存依赖的应用 缓存 缓存依赖 Yii 缓存是提升Web应用性能的简便有效的方式.当我们在加载网页需要过多的时间,比如说查询时间过久,抑或是调用接口占用过多I/O,建立缓存是一个行之有效的方法,它可以避免多次加载页面缓慢的不良用户体验.但是网页中数据并不是一成不变的,它是变化的,就如查询有不同条件不同内容,所以我们缓存的内容也要随之变化,这就是缓存依赖所存在的必要性. 设置缓存 一般情况下,我们会给缓存的变量设置过期时间,到了过期时间,该变量也就随之有效,下次加载就必须重新生成缓存,这就是

YII框架分析笔记3:表单模型和验证

表单模型CFormModel绝大部分继承CModelCModel,由于表模型数据不需要持久化,所以主要在验证操作上.下面以框架脚手架生成的网站登录为例说明表单模型. [php] view plaincopy //模型中的验证规则 public function rules() { return array( array('username, password', 'required'), array('rememberMe', 'boolean'), array('password', 'aut