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基础知识:类与对象(1)
Dec 13 PHP
PHP Ajax中文乱码问题解决方法
Feb 27 PHP
php绝对路径与相对路径之间关系的的分析
Mar 03 PHP
php array_unique之后json_encode需要注意
Jan 02 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
Mar 06 PHP
php笔记之:php函数range() round()和list()的使用说明
Apr 26 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
php多重接口的实现方法
Jun 20 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
Jul 31 PHP
PHP简单处理表单输入的特殊字符的方法
Feb 03 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 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判断邮箱地址是否存在的方法
2016/02/13 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
编写自己的jQuery插件简单实现代码
2011/04/19 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
JavaScript入门基础
2015/08/12 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
2016/01/05 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
vue基于v-charts封装双向条形图的实现代码
2019/12/09 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
Python实现简单字典树的方法
2016/04/29 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
python实现QQ邮箱发送邮件
2020/03/06 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
Python截图并保存的具体实例
2021/01/14 Python
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
如何给HTML标签中的文本设置修饰线
2019/11/18 HTML / CSS
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
教师实习自我鉴定
2013/12/11 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
公务员培的训心得体会
2014/09/01 职场文书
蔬果开业典礼发言稿应该怎么写?
2019/09/03 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
人物搭配车车超萌联名预备中 【咒术迴战】 ⨯ 【天竺鼠车车】 展开合作
2022/04/11 日漫
Python 中面向接口编程
2022/05/20 Python