thinkphp模型中的获取器和修改器(根据字段名自动调用模型中的方法)

一、总结

记得看下面

1、获取器的作用是在获取数据的字段值后自动进行处理

2、修改器的作用是可以在数据赋值的时候自动进行转换处理

3、获取器应用:我们在数据库存性别的时候不能存男女,而可以存0(未知)1(男)2(女),这样快,获取器就是我在控制器中通过$user->toArray()从模型获取数据的时候,自动调用模型中的getSexAttr()方法,从而返回的结果里面直接是男女,而不是012

4、模型中的方法是自动调用的,所以函数的命名规则是一一对应的,控制器数据表中自动sex,模型中函数getSexAttr(),如果字段 user_status 修改器名字getUserStatusAttr

5、修改器应用:修改密码的时候,自动md5加密

6、控制器和修改器都有特定的触发方法,修改器(save可以,update不可以),控制器(看下面案例)

二、thinkphp模型中的获取器和修改器

2、获取器

1、数据模型

// sex 的获取器

public function getSexAttr($val){

switch ($val) {

case '0':

return "未知";

break;

case "1":

return "男";

break;

case "2":

return "女";

break;

}

}

2、控制器

// 获取ID为15 的数据

$user=User::get(17);

// 经过获取器的操作

dump($user->toArray());

dump($user->sex);

// 不经过获取器处理

dump($user->getData());

3、注意

1、如果字段 user_status 修改器名字getUserStatusAttr

2、如果字段 status 修改器名字getStatusAttr

3、修改器

1、数据模型

// 用户密码的修改器

public function setPassAttr($val){

return md5($val);

}

2、控制器

// 修改 ID 为15 的密码

$user=new User();

// 密码会实现自动加密

$res=$user->save(['pass'=>'456'],['id'=>15]);

dump($res);

3、注意

1、修改器的触发条件是 save方法

转载于:https://www.cnblogs.com/Renyi-Fan/p/9027120.html

thinkphp模型中的获取器和修改器(根据字段名自动调用模型中的方法)相关推荐

  1. 3dmax中的UVW 贴图修改器详解(史上最全)

    3dmax中的UVW 贴图修改器 选择对象.  > "修改器"菜单  > " UV  坐标" > " UVW  贴图" 贴 ...

  2. laravel获取器和修改器

    laravel获取器和修改器 获取器 修改器 获取器 Eloquent 提供了一种便利的方法,可以在获取或设定属性时进行转换.要定义获取器,只要在模型里加入类似 getXxxxAttribute 的方 ...

  3. 21.模型的访问器和修改器

    学习要点: 1.访问器 2.修改器 本节课我们来开始学习数据库模型的访问器和修改器的使用. 一.访问器 1. 访问器:就是在获取数据列表时,拦截属性并对属性进行修改的过程: 2. 比如,我们在输出性别 ...

  4. Laravel学习记录--访问器与修改器

    简介 当你在Eloquent模型实例中获取或设置某些属性值的时候,访问器和修改器允许你对Eloquent属性值进行格式化,访问器可在将要读取的数据进行处理后在返回给调用方,而修改器可在数据要被保存到数 ...

  5. android x86 修改器,烧饼修改器x86专属版

    烧饼修改器x86专属版免root,不用root就能使用的修改器!烧饼修改器x86专属版支持主流手机游戏无论是单机还是网游,例如最近很火的王者荣耀都可以进行游戏金币,钻石的修改,x86版针对使用了英特尔 ...

  6. 面向对象——访问器、修改器、构造函数、对象的创建流程

    在之前的代码讲解中,我们将一类事物封装成一个类,再去创建一个相应的对象去调用方法完成相应的操作这是非常方便的,但是在之前的代码我们发现,对象不仅仅能调用类中的方法,还可以访问到该类中的成员变量并进行赋 ...

  7. 封装一个新闻类News,包含新闻标题,新闻作者,新闻内容,新闻类型三个属性,提供必要的访问器和修改器方法重写toString方法,要求打印对象时输出格式为“标题;

    封装一个新闻类News,包含新闻标题,新闻作者,新闻内容, 新闻类型三个属性,提供必要的访问器和修改器方法,重写toString方法, 要求打印对象时输出格式为"标题:类型:作者" ...

  8. C++编程思想 第1卷 第9章 内联函数 内联函数 访问器和修改器

    一些人进一步访问函数的概念分为访问器 accessor,用于从一个对象读状态 信息和 修改器 mutator 用于修改状态信息. 而且,可以用重载函数为访问器 和修改器提供相同函数名,调用函数的方式决 ...

  9. 3dmax:3dmax的软件右边栏常用修改器(Cloth修改器、车削、倒角/剖面、对称、FFD长方体/圆柱体、Gizmo、规格化样条线、挤出 、路径、扭曲、晶格、壳、拉伸)之详细攻略

    3dmax:3dmax的软件右边栏常用修改器(Cloth修改器.车削.倒角/剖面.对称.FFD长方体/圆柱体.Gizmo.规格化样条线.挤出 .路径.扭曲.晶格.壳.拉伸.面挤出.网格/平滑.涡轮平滑 ...

最新文章

  1. 《Nature》纪念人工智能60周年专题:深度学习综述
  2. 同步等待异步操作,为什么Wait()在这里冻结程序
  3. c语言网页版在线编译器_C语言编译器IDEapp下载-C语言编译器IDE官方版下载v1.5.1 安卓版...
  4. 信使(信息学奥赛一本通-T1376)
  5. 控制抽象之简化客户代码
  6. 怎么样用 Python 玩转 Redis !过来 咱一起聊聊!
  7. Css学习总结(2)——60个有用CSS代码片段
  8. [转载] XStream的分析
  9. 天涯明月刀登录的界面服务器显示,上述便是Win10系统下登录天涯明月刀提示异地登录不了的详细解决方法了...
  10. java地铁最短_南京地铁最短路径以及最少换乘算法C++不用类
  11. 游戏设计情境探秘之声音
  12. 信息系统项目管理师考试难吗
  13. UE4 VR官方教程学习总结-项目设置
  14. 静态工作点稳定方法——原理;分压偏置共射放大电路静态分析、动态分析
  15. [C#] DataView用法
  16. Accton Technology and Wedge Networks Partnership Launches Orchestrated Secure SD-WAN
  17. 浅谈脑机接口:传统神经学科的颠覆者
  18. 俄语转化成拉丁字母java_java - 如何在Java String中将西里尔字母转换为英语拉丁语? - SO中文参考 - www.soinside.com...
  19. 自己动手用python写豆瓣FM
  20. C语言循环水题,【系统设计论文】单片机控制下的鱼缸水循环系统设计(共3694字)...

热门文章

  1. mysql之mysqldump备份恢复
  2. 运行sqlplus时遇到cannot restore segment prot after reloc: Permission denied
  3. c++ const 关键字 学习笔记
  4. 从测试的角度来重新反思我们自己的程序以及我们的程序员之路——“通过追本溯源来进行前瞻性思考”...
  5. MATLAB 画图时插入图例
  6. Matlab百度中Cell(单元数据)的用法
  7. CCS MAP文件说明
  8. 编程珠玑第八章——分治算法求解数组中的最大的连续和
  9. 首席数据官成为企业转型中的重要角色之一
  10. 代码缺陷导致 CloudFlare 泄露大量客户站点的密码等私密信息