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和ACCESS写聊天室(二)
Oct 09 PHP
PHP中$this和$that指针使用实例
Jan 06 PHP
100行PHP代码实现socks5代理服务器
Apr 28 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
May 30 PHP
php中mkdir()函数的权限问题分析
Sep 24 PHP
php多线程并发实现方法
Sep 30 PHP
php实现将base64格式图片保存在指定目录的方法
Oct 13 PHP
laravel 中如何使用ajax和vue总结
Aug 16 PHP
PHP get_html_translation_table()函数用法讲解
Feb 16 PHP
phpStudy vscode 搭建debug调试的教程详解
Jul 28 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
Nov 27 PHP
PHP7 其他修改
Mar 09 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检测用户是否用手机(Mobile)访问网站的类
2014/01/09 PHP
php多任务程序实例解析
2014/07/19 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
2015/10/20 PHP
smarty高级特性之过滤器的使用方法
2015/12/25 PHP
PHP标准类(stdclass)用法示例
2016/09/28 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
JavaScript 学习笔记(五)
2009/12/31 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
JS实现鼠标滑过折叠与展开菜单效果代码
2015/09/06 Javascript
基于JavaScript实现定时跳转到指定页面
2016/01/01 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
微信小程序实现折叠与展开文章功能
2018/06/12 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
Python设计模式编程中解释器模式的简单程序示例分享
2016/03/02 Python
python实现随机梯度下降法
2020/03/24 Python
一看就懂得Python的math模块
2018/10/21 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
Python读写Excel表格的方法
2021/03/02 Python
css3实现背景颜色渐变让图片不再是唯一的实现方式
2012/12/18 HTML / CSS
CSS3 text shadow字体阴影效果
2016/01/08 HTML / CSS
夏威夷咖啡公司:Hawaii Coffee Company
2019/09/19 全球购物
explicit和implicit的含义
2012/11/15 面试题
应聘医药销售自荐书范文
2014/02/08 职场文书
广告宣传策划方案
2014/05/21 职场文书
工地质量标语
2014/06/12 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
2015廉洁自律个人总结
2015/02/14 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技