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脚本的10个技巧(5)
Oct 09 PHP
给php新手谈谈我的学习心得
Feb 25 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
Jan 06 PHP
php遍历目录输出目录及其下的所有文件示例
Jan 27 PHP
PHP 中常量的知识整理
Apr 14 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
May 04 PHP
Laravel学习教程之本地化模块
Aug 18 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
May 13 PHP
PHP反射原理与用法深入分析
Sep 28 PHP
Yii Framework框架开发微信公众平台示例
Apr 26 PHP
使用php的mail()函数实现发送邮件功能
Jun 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
mysql+php分页类(已测)
2008/03/31 PHP
php获取新浪微博数据API实例
2013/11/12 PHP
php用header函数实现301跳转代码实例
2013/11/25 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
PHP实现限制域名访问的实现代码(本地验证)
2020/09/13 PHP
php的lavarel框架中join和orWhere的用法
2020/12/28 PHP
Aster vs KG BO3 第一场2.18
2021/03/10 DOTA
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
bootstrap table表格使用方法详解
2017/04/26 Javascript
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
Vue.js单向绑定和双向绑定实例分析
2018/08/14 Javascript
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
2019/04/29 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
使用 webpack 插件自动生成 vue 路由文件的方法
2019/08/20 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
python中的yield使用方法
2014/02/11 Python
基于Python3.6+splinter实现自动抢火车票
2018/09/25 Python
linux查找当前python解释器的位置方法
2019/02/20 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
2020/05/27 Python
Python装饰器结合递归原理解析
2020/07/02 Python
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
Myprotein荷兰官网:欧洲第一运动营养品牌
2020/07/11 全球购物
小学生考试获奖感言
2014/01/30 职场文书
博士生求职信
2014/07/06 职场文书
2014年团支书工作总结
2014/11/14 职场文书
教师教育心得体会
2016/01/19 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL