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 配置open_basedir 让各虚拟站点独立运行
Nov 12 PHP
PHP stream_context_create()作用和用法分析
Mar 29 PHP
Admin generator, filters and I18n
Oct 06 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
Sep 05 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 PHP
PHP中使用imagick实现把PDF转成图片
Jan 26 PHP
PHP实现图片自动清理的方法
Jul 08 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
Feb 15 PHP
PHP7 新特性详细介绍
Sep 06 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
Sep 13 PHP
Laravel 创建指定表 migrate的例子
Oct 09 PHP
Laravel框架控制器,视图及模型操作图文详解
Dec 04 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
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
javascript event 事件解析
2011/01/31 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
轻松实现jquery手风琴效果
2016/01/14 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
详解webpack分包及异步加载套路
2017/06/29 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
微信小程序slider组件使用详解
2018/01/31 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
python求斐波那契数列示例分享
2014/02/14 Python
python如何实现反向迭代
2018/03/20 Python
python实时监控logstash日志代码
2020/04/27 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
机械工程系毕业生求职信
2013/09/27 职场文书
现金出纳岗位职责
2014/03/15 职场文书
培训协议书范本
2014/04/22 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
运动会开幕词
2015/01/28 职场文书
出纳岗位职责
2015/01/31 职场文书
工会工作个人总结
2015/03/03 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
2015员工年度考核评语
2015/03/25 职场文书
看雷锋电影观后感
2015/06/10 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python