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 相关文章推荐
PHP XML操作类DOMDocument
Dec 16 PHP
关于php连接mssql:pdo odbc sql server
Jul 20 PHP
单点登录 Ucenter示例分析
Oct 29 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
Oct 01 PHP
PHP打开和关闭文件操作函数总结
Nov 18 PHP
php中fgetcsv()函数用法实例
Nov 28 PHP
php检查字符串中是否包含7位GSM字符的方法
Mar 17 PHP
十大使用PHP框架的理由
Sep 26 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
详解PHP防止直接访问.php 文件的实现方法
Jul 28 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
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
ThinkPHP中create()方法自动验证实例
2017/04/26 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
js同时按下两个方向键
2007/12/01 Javascript
js 操作css实现代码
2009/06/11 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
2016/02/02 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
vue 微信授权登录解决方案
2018/04/10 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
jquery实现加载更多"转圈圈"效果(示例代码)
2020/11/09 jQuery
python处理文本文件并生成指定格式的文件
2014/07/31 Python
使用Python编写Linux系统守护进程实例
2015/02/03 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
化学相关工作求职信
2013/10/02 职场文书
2014年科普工作总结
2014/12/06 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
2021/03/31 HTML / CSS
解决Python字典查找报Keyerror的问题
2021/05/26 Python
Redis Stream类型的使用详解
2021/11/11 Redis
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技