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下实现伪 url 的超简单方法[转]
Sep 24 PHP
php 正则 过滤html 的超链接
Jun 02 PHP
php 文件上传代码(限制jpg文件)
Jan 05 PHP
php存储过程调用实例代码
Feb 03 PHP
基于empty函数的输出详解
Jun 17 PHP
PHP删除HTMl标签的实现代码
Jun 30 PHP
PHP函数getenv简介和使用实例
May 12 PHP
WordPress中制作导航菜单的PHP核心方法讲解
Dec 11 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
PHP实现腾讯与百度坐标转换
Aug 05 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
PHP实现微信公众号验证Token的示例代码
Dec 16 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
codeigniter使用技巧批量插入数据实例方法分享
2013/12/31 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
JQuery获取元素尺寸、位置及页面滚动事件应用示例
2019/05/14 jQuery
jQuery实现简易QQ聊天框
2020/02/10 jQuery
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
python的id()函数介绍
2013/02/10 Python
Python生成验证码实例
2014/08/21 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
Python 实现链表实例代码
2017/04/07 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
python滑块验证码的破解实现
2019/11/10 Python
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
石油工程专业毕业生求职信
2014/04/13 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
2015年社区中秋节活动总结
2015/03/23 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书