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开源建站平台小结
Apr 22 PHP
php header示例代码(推荐)
Sep 08 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
Aug 14 PHP
基于php split()函数的用法详解
Jun 05 PHP
19个超实用的PHP代码片段
Mar 14 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
Aug 31 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
Dec 24 PHP
PHP中类的自动加载的方法
Mar 17 PHP
PHP数据库编程之MySQL优化策略概述
Aug 16 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 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脚本的10个技巧(7)
2006/10/09 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
js省市县三级联动效果实例
2020/04/15 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
Node.js 回调函数实例详解
2017/07/06 Javascript
Vue实现搜索结果高亮显示关键字
2019/05/28 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
vue切换菜单取消未完成接口请求的案例
2020/11/13 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
介绍Python中的文档测试模块
2015/04/28 Python
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
python实现贪吃蛇双人大战
2020/04/18 Python
Ootori在线按摩椅店:一家专业的按摩椅制造商
2019/04/10 全球购物
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
大学毕业感言
2014/01/10 职场文书
工作迟到检讨书
2014/02/21 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
人事任命通知
2015/04/20 职场文书
首次购房证明
2015/06/19 职场文书
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers