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之第八天
Oct 09 PHP
php执行sql语句的写法
Mar 10 PHP
php 一元分词算法
Nov 30 PHP
redis 队列操作的例子(php)
Apr 12 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
基于php无限分类的深入理解
Jun 02 PHP
php编写的简单页面跳转功能实现代码
Nov 27 PHP
PHP面向对象之后期静态绑定功能介绍
May 18 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
May 20 PHP
PHP性能测试工具xhprof安装与使用方法详解
Apr 29 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
Nov 04 PHP
php的instanceof和判断闭包Closure操作示例
Jan 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
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
PHP children()函数讲解
2019/02/03 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
filemanage功能中用到的common.js
2007/04/08 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
提高jQuery性能优化的技巧
2015/08/03 Javascript
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
vue 实现单选框设置默认选中值
2019/11/07 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
微信小程序自定义弹出层效果
2020/05/26 Javascript
Python中的迭代器漫谈
2015/02/03 Python
python实现中文转换url编码的方法
2016/06/14 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
scrapy爬虫完整实例
2018/01/25 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
Django框架模板注入操作示例【变量传递到模板】
2018/12/19 Python
Python Pexpect库的简单使用方法
2019/01/29 Python
详解Django中CBV(Class Base Views)模型源码分析
2019/02/25 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
2019/12/11 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
汽车检测与维修专业求职信
2013/10/30 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
2014党员学习兰辉先进事迹思想汇报
2014/09/17 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
详细了解java监听器和过滤器
2021/07/09 Java/Android
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers
mysql sql常用语句大全
2022/06/21 MySQL