Laravel 手动开关 Eloquent 修改器的操作方法


Posted in PHP onDecember 30, 2019

测试框架版本是 Laravel 6.5, Eloquent 修改器使用可以参阅 -> 查看文档

修改器的手动开关的场景就是差异化的返回数据,例如在后台管理的时候,图片地址要相对路径,然后 app 端期望返回全路径的地址,这个时候就需要手动开启和关闭了。

大概操作就是在模型中声明一个静态变量,然后修改器中判断这个静态变量值是 true/false; 如果是 true 则处理,如果为 false 就不处理,具体操作:

public static $modify = true;
  /**
   * 获取用户的姓名.
   * 判断是否需要修改及 $value 是不是空值
   * @param string $value
   * @return string
   */
  public function getFirstNameAttribute($value)
  {
    return self::$modify && $value ? ucfirst($value) : $value;
  }

示例代码是默认开启修改器的,无需的话可以关闭修改器,在具体业务层使用前关闭就可以的

User::$modify = false;  // 关闭修改器
return $user:findOrFail(1);

如果不手动关闭,想获取原数据,而不是被修改之后的值,也可以这样获取原始值:

$user = User::find(1);
return $user->getOriginal('first_name');

总结

以上所述是小编给大家介绍的Laravel 手动开关 Eloquent 修改器的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
用PHP实现的随机广告显示代码
Jun 14 PHP
浅析linux下apache服务器的配置和管理
Aug 10 PHP
php防止SQL注入详解及防范
Nov 12 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
Sep 04 PHP
php中smarty区域循环的方法
Jun 11 PHP
PHP.ini安全配置检测工具pcc简单介绍
Jul 02 PHP
基于php实现随机合并数组并排序(原排序)
Nov 26 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
Mar 22 PHP
Composer设置忽略版本匹配的方法
Apr 27 PHP
ThinkPHP发送邮件示例代码
Oct 08 PHP
php封装一个异常的处理类
Jun 08 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 #PHP
PHP单元测试配置与使用方法详解
Dec 27 #PHP
PHP全局使用Laravel辅助函数dd
Dec 26 #PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 #PHP
PHP高并发和大流量解决方案整理
Dec 24 #PHP
thinkphp5实现微信扫码支付
Dec 23 #PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 #PHP
You might like
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
php计算两个整数的最大公约数常用算法小结
2015/03/05 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
javascript常用对话框小集
2013/09/13 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
js实现随机点名小功能
2017/08/17 Javascript
JavaScript简单实现合并两个Json对象的方法示例
2017/10/16 Javascript
[02:57]2014DOTA2国际邀请赛-观众采访
2014/07/19 DOTA
删除目录下相同文件的python代码(逐级优化)
2012/05/25 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
python 列表降维的实例讲解
2018/06/28 Python
解决Python中list里的中文输出到html模板里的问题
2018/12/17 Python
Python实现计算字符串中出现次数最多的字符示例
2019/01/21 Python
python和mysql交互操作实例详解【基于pymysql库】
2019/06/04 Python
pytorch 自定义参数不更新方式
2020/01/06 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
全球领先的各类汽车配件零售商:Advance Auto Parts
2016/08/26 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
大学生自我鉴定评语
2014/01/27 职场文书
父亲的菜园教学反思
2014/02/13 职场文书
致100米运动员广播稿
2014/02/14 职场文书
总经理助理的职责
2014/03/14 职场文书
购房协议书范本
2014/04/11 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
转正申请报告格式
2015/05/15 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书