学习要点:
1.访问器
2.修改器
本节课我们来开始学习数据库模型的访问器和修改器的使用。
一.访问器
1. 访问器:就是在获取数据列表时,拦截属性并对属性进行修改的过程;
2. 比如,我们在输出性别时,在性别左右加上括号,或给邮件转换为大写;
//访问器,前固定 get,后固定 Attribute,Gender 是字段名
//参数$value 是源字段值,可修改返回
public function getGenderAttribute($value)
{
return '【'.$value.'】';
}
PS:如果字段名是两个单词中间是下划线:user_name,那么方法名:getUserNameAttribute()
3. 我们也可以创建一个虚拟字段,用已有的数据字段进行整合,不过要进行数据追加;

//将虚拟字段追加到数据对象列表里去
protected $appends = ['info'];
//创建一个虚拟字段
public function getInfoAttribute()
{
return $this->username.'-'.$this->gender;
}

PS:注意,如果 gender 之前已经有访问器修改过,上面的方法会得到修改过的结果;
PS:如果要使用源字段进行创建虚拟字段,需要使用下面这种:
return $this->attributes['username'].'-'.$this->attributes['gender'];
二.修改器
1. 修改器,相对于访问器,是在写入的时候拦截,进行修改再写入;
//修改器,写入数据时,将邮箱转换为大写
public function setEmailAttribute($value)
{
$this->attributes['email'] = strtoupper($value);
}
2. 可以添加默认的日期列,默认 created_at 和 updated_at;
//设置可以自动写入日期的列
protected $dates = [
'details'
];
3. 可以设置字段输出的类型,比如设置一个布尔型,输出时就是 true 和 false;
//设置字段类型
protected $casts = [
'details' => 'boolean'
];

21.模型的访问器和修改器相关推荐

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

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

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

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

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

    thinkphp模型中的获取器和修改器(根据字段名自动调用模型中的方法) 一.总结 记得看下面 1.获取器的作用是在获取数据的字段值后自动进行处理 2.修改器的作用是可以在数据赋值的时候自动进行转换处 ...

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

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

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

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

  6. laravel获取器和修改器

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

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

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

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

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

  9. 二十一、PHP框架Laravel学习笔记——模型的访问器和修改器

    一.访问器 访问器:就是在获取数据列表时,拦截属性并对属性进行修改的过程: 比如,我们在输出性别时,在性别左右加上括号,或给邮件转换为大写: //访问器,前固定 get,后固定 Attribute,G ...

最新文章

  1. [C#] enum 枚举
  2. 从N个数中等概率打印M个数
  3. Deep Learning in a Nutshell: Core Concepts
  4. 【NOIP模拟】方格稿纸
  5. 计算机不让爱奇艺显示在桌面,怎么让爱奇艺图标不在我的电脑里显示
  6. matlab ones函数_Matlab中相见恨晚的命令(持续更新)
  7. Mysql 零距离-入门(二)
  8. ASP.NET MVC下使用AngularJs语言(一):Hello your name
  9. POJ 2182 Lost Cows
  10. 【Spark】SparkStreaming-提交到集群运行
  11. luogu P1307 数字反转
  12. 昨晚家里停网后,我动了邪念用Python破解了隔壁小姐姐的wifi密码
  13. NPM ----快速删除node_modules
  14. 9.【Windows】如何制作原版Win10系统盘
  15. 小规模45万免税,免的是增值税,没有企业所得税!
  16. 【学习笔记】Creo如何创建钣金件(利用骨架)
  17. 计算字符串长度函数大全
  18. matlab 绘制有向图、无向图、有权有向图、有权无向图以及查找最短路径
  19. 吾生有涯 而知也无涯
  20. CV项目肢体动作识别(三)内附完整代码和详细讲解

热门文章

  1. 网站建设常用英文翻译对照
  2. 无人货架和无人货柜对比
  3. 大学数计算机学霸曾做出的数学题,全是100分!这份高校学霸成绩单刷屏
  4. dump分析超级详细分析
  5. 5.8 快速定位拥有公式、批注、常量等内容的单元格 [原创Excel教程]
  6. zstuacm数据结构基础12-瓷砖
  7. urf-8 gbk gb2312之间的关系
  8. android动画背景,Android开发之背景动画简单实现方法
  9. 控制primitives显隐
  10. C语言用递归函数画雪花