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 STRING 陷阱原理说明
Jul 24 PHP
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
Jul 18 PHP
解析PHP生成静态html文件的三种方法
Jun 18 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 PHP
PHP文件缓存类实现代码
Oct 26 PHP
实例讲解yii2.0在php命令行中运行的步骤
Dec 01 PHP
PHP 中提示undefined index如何解决(多种方法)
Mar 16 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
Nov 09 PHP
php中Ioc(控制反转)和Di(依赖注入)
May 07 PHP
PHP获取链表中倒数第K个节点的方法
Jan 18 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 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
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
2014/05/06 PHP
PHP中使用socket方式GET、POST数据实例
2015/04/02 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
2017/04/04 PHP
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
javascript下string.format函数补充
2010/08/24 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
JS及JQuery对Html内容编码,Html转义
2017/02/17 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
Python正则表达式教程之一:基础篇
2017/03/02 Python
详谈Pandas中iloc和loc以及ix的区别
2018/06/08 Python
python采集微信公众号文章
2018/12/20 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
2015/03/17 HTML / CSS
德国团购网站:Groupon德国
2018/03/13 全球购物
建筑工程实习自我鉴定
2013/09/19 职场文书
保安员岗位职责
2013/11/17 职场文书
出国留学经济担保书
2014/04/01 职场文书
面试自我介绍演讲稿
2014/04/29 职场文书
小学生常见病防治方案
2014/06/06 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
自愿离婚协议书范本
2014/09/13 职场文书
大学生见习期满自我鉴定
2014/09/13 职场文书
抗洪救灾标语
2014/10/08 职场文书
公务员群众路线心得体会
2014/11/03 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js