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 图片上添加透明度渐变的效果
Jun 29 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
通达OA公共代码 php常用检测函数
Dec 14 PHP
MySQL 日期时间函数常用总结
Jun 12 PHP
php使用exec shell命令注入的方法讲解
Nov 12 PHP
php不允许用户提交空表单(php空值判断)
Nov 12 PHP
php计算给定时间之前的函数用法实例
Apr 03 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
Oct 08 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
开启PHP Static 关键字之旅模式
Nov 13 PHP
PHP如何通过AJAX方式实现登录功能
Nov 23 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
Apr 30 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 empty,isset,is_null判断比较(差异与异同)
2010/10/19 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
vuex实现简易计数器
2016/10/27 Javascript
通过js修改input、select默认字体颜色
2017/04/19 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
JavaScript canvas绘制渐变颜色的矩形
2020/02/18 Javascript
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
Python检测数据类型的方法总结
2019/05/20 Python
python超时重新请求解决方案
2019/10/21 Python
python爬虫实现获取下一页代码
2020/03/13 Python
Django权限设置及验证方式
2020/05/13 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
《登鹳雀楼》教学反思
2014/04/09 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
超市员工辞职信范文
2015/05/12 职场文书
2015年大学教师工作总结
2015/05/20 职场文书