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 相关文章推荐
计数器详细设计
Oct 09 PHP
dedecms后台验证码总提示错误的解决方法
Mar 21 PHP
php多维数组去掉重复值示例分享
Mar 02 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
php判断当前用户已在别处登录的方法
Jan 06 PHP
在WordPress中使用wp-cron插件来设置定时任务
Dec 10 PHP
Symfony2函数用法实例分析
Mar 18 PHP
屏蔽PHP默认设置中的Notice警告的方法
May 20 PHP
PHP中Trait及其应用详解
Feb 14 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
Jul 03 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
详细分析PHP7与PHP5区别
Jun 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地址引用(php地址引用的效率问题)
2012/03/23 PHP
smarty简单分页的实现方法
2014/10/27 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
jQuery判断div随滚动条滚动到一定位置后停止
2014/04/02 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
JavaScript取得键盘按下方向键是哪个的方法
2015/08/04 Javascript
jquery ztree实现模糊搜索功能
2016/02/25 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
JS实现隔行换色的表格排序
2017/03/27 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
原生js+cookie实现购物车功能的方法分析
2017/12/21 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
Python3里的super()和__class__使用介绍
2015/04/23 Python
教你学会使用Python正则表达式
2017/09/07 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
利用arcgis的python读取要素的X,Y方法
2018/12/22 Python
Django异步任务之Celery的基本使用
2019/03/23 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
python中urllib.request和requests的使用及区别详解
2020/05/05 Python
python语言的优势是什么
2020/06/17 Python
Keras模型转成tensorflow的.pb操作
2020/07/06 Python
计算机专业大学生的自我评价
2013/11/14 职场文书
早读迟到检讨书
2014/01/24 职场文书
高中体育教学反思
2014/01/29 职场文书
新春寄语大全
2014/04/09 职场文书
Python 批量下载阴阳师网站壁纸
2021/05/19 Python