文档章节

YII 字段映射

别人说我名字很长
 别人说我名字很长
发布于 2013/12/29 23:56
字数 236
阅读 1315
收藏 1
YII 字段映射

首先在模型中定义字段映射的方法

class Arctype extends CActiveRecord{
    //定义字段映射
    public $_map = array(
        'typename'=>'a1',
        'topid'=>'a2',
        'sort'=>'a3',
        'shuxing'=>'a4',
    );
    //定义字段映射的方法
    public function mymap($data){
        foreach($data as $k=>$v){
            if(in_array($k,$this->_map)){
                $key = array_search($k,$this->_map);
                $map[$key] = $v;
            }else{
                $map[$k] = $v;
            }
        }
        $this->attributes = $map;
    }
    //使用mymap方法时必须定义rules方法进行安全过滤
    function rules() {
        return array(
            array('typename','required','message'=>'栏目名必须填写'), 
            array('topid','required','message'=>'上级栏目必须填写'),
        );  }
   //使用mymap2方法时不用定义rules方法进行安全过滤
   public function mymap2($data){
        foreach($data as $k=>$v){
            if(in_array($k,$this->_map)){
                $key = array_search($k,$this->_map);
                $this->$key = addslashes($v);
            }else{
                $this->$k = addslashes($v);
            }
        }
    }



在控制器中使用字段映射填充字段

class ArctypeController extends Controller{
    public function actionindex(){
        $data = array(
           'a1'=>'mya1',
           'topid'=>'55',
           'a3'=>'66',
           'shuxing'=>'77', 
        );
        $model = new Arctype();
        $model->mymap($data);//使用字段映射填充字段
        $this->dump($model->attributes);
        $model->save()       
    }


© 著作权归作者所有

共有 人打赏支持
别人说我名字很长
粉丝 56
博文 258
码字总数 108335
作品 0
济南
程序员
私信 提问
Yii 字段映射 如何实现?

Yii有没有ThinkPHP里面的字段映射功能?怎么实现?初学Yii,目前只知道主键可以。 ThinkPHP的字段映射功能可以让你在表单中隐藏真正的数据表字段,而不用担心放弃自动创建表单对象的功能,假...

Lucups
2013/03/21
965
3
Yii学习笔记:实现类似于ThinkPHP的模型字段映射,字段别名

在TP中,我们只要在模型类中定义一个 protected $_map = array( 这样,我们前端模板中使用 <input type=text name="name"/> 在模型收集表单数据时会自动将值同时映射到username字段上。...

吾爱
2013/12/29
0
2
YII2.0 AcriveRecord的简单使用

这篇文章我们来看看在 Yii2 之中的 Active Record,为啥要将 Active Record 单独出来说呢?因为个人认为这是 Yii(不管是 Yii1.1 还是 Yii2)最强大的一部分功能之一,何况又遇上在 Yii2 中其...

bieru
2015/05/10
0
0
yii2开发中19条推荐实践(阿北总结)

虽然每个人的编程风格不同,但是有些建议能让你的代码更加规范和稳定,本次就我这次网站更新总结如下几点,希望对你的yii2学习和使用有所帮助。 环境说明 服务器环境: CentOS 开发环境及IDE...

阿北2017
2018/06/02
0
0
Yii 2.0.6 发布,PHP 开发框架

Yii 2.0.6 发布,Yii 2.0.6 是 2.0 版本的补丁版,它包括 70 多项小的特性和 Bug 修复,以下为此版本几个重要的改进: 更好的迁移语法 更好的错误处理 从 ActiveForm 到 JavaScript 更大的控...

Outshine
2015/08/06
3.5K
17

没有更多内容

加载失败,请刷新页面

加载更多

XML

学习目标  能够说出XML的作用  能够编写XML文档声明  能够编写符合语法的XML  能够通过DTD约束编写XML文档  能够通过Schema约束编写XML文档  能够通过Dom4j解析XML文档 第1章 xm...

stars永恒
26分钟前
0
0
RabbitMQ学习(2)

1. 生产者客户端 void basicPublish(String exchange, String routingKey, boolean mandatory, boolean immediate, BasicProperties props, byte[] body) 1. 在生产者客户端发送消息时,首先......

江左煤郎
26分钟前
1
0
day23:curl判断网站状态码|打包压缩家目录小于5k文件|

1、写一个shell 脚本,通过curl -l 返回的状态码来判断访问的网站是否正确(状态码为 200 则正常); 首先如何过滤出来 状态码了; curl -I http://www.yuanhh.com/index.php 2>/dev/null|head...

芬野de博客
48分钟前
1
0
从 for of 聊到 Generator

你能学到什么 对 for of 更深入的理解 iterator 到底是何方神圣? 数组也是对象,为什么不能用 for of 来遍历对象呢? 如何实现对象的 for of? Generator 又是何方神圣? Generator 有什么用呢...

Jack088
59分钟前
3
0
怎么判断go-sql-driver 安装成功

.下载安装   执行下面两个命令:     下载:go get github.com/Go-SQL-Driver/MySQL     安装:go install github.com/Go-SQL-Driver/MySQL   怎么判断go-sql-driver 安装成功 ...

dragon_tech
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部