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 相关文章推荐
一个改进的UBB类
Oct 09 PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 PHP
PHP中改变图片的尺寸大小的代码
Jul 17 PHP
第五章 php数组操作
Dec 30 PHP
php中curl和file_get_content的区别
May 10 PHP
PHP四种基本排序算法示例
Apr 09 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
Yii2框架dropDownList下拉菜单用法实例分析
Jul 18 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
Oct 13 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
php实现的二叉树遍历算法示例
Jun 15 PHP
laravel 配置路由 api和web定义的路由的区别详解
Sep 03 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
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
PHP+javascript模拟Matrix画面
2006/10/09 PHP
坏狼的PHP学习教程之第1天
2008/06/15 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
js中巧用cssText属性批量操作样式
2011/03/13 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
JS实现的自定义水平滚动字体插件完整实例
2016/06/17 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
vue 2.0项目中如何引入element-ui详解
2017/09/06 Javascript
Python实现的数据结构与算法之链表详解
2015/04/22 Python
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
详解Python3中ceil()函数用法
2019/02/19 Python
深入解析Python小白学习【操作列表】
2019/03/23 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
巴西购物网站:Onofre Agora
2020/06/08 全球购物
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
普通员工辞职信
2014/01/17 职场文书
文秘求职信范文
2014/04/10 职场文书
中职生求职信
2014/07/01 职场文书
学生病假条怎么写
2015/08/17 职场文书
《火烧云》教学反思
2016/02/23 职场文书