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 strstr查找字符串中是否包含某些字符的查找函数
Jun 03 PHP
php中3种方法统计字符串中每种字符的个数并排序
Aug 27 PHP
linux命令之调试工具strace的深入分析
Jun 03 PHP
smarty实现多级分类的方法
Dec 05 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
Dec 18 PHP
yii2.0实现pathinfo的形式访问的配置方法
Apr 06 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
Nov 22 PHP
php json中文编码为null的解决办法
Dec 14 PHP
php实现用户注册密码的crypt加密
Jun 08 PHP
PHP实现微信提现功能(微信商城)
Nov 21 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
十天学会php(2)
2006/10/09 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
javaScript call 函数的用法说明
2010/04/09 Javascript
深入理解JavaScript系列(16) 闭包(Closures)
2012/04/12 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
详解如何在vue中使用sass
2017/06/21 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
vue基础之模板和过滤器用法实例分析
2019/03/12 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
WebStorm无法正确识别Vue3组合式API的解决方案
2021/02/18 Vue.js
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
python的绘图工具matplotlib使用实例
2014/07/03 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
Python操作mongodb的9个步骤
2018/06/04 Python
Python面向对象之接口、抽象类与多态详解
2018/08/27 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
详解Python3中的 input() 函数
2020/03/18 Python
python 高阶函数简单介绍
2021/02/19 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
Marc Jacobs彩妆官网:Marc Jacobs Beauty
2017/07/03 全球购物
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
分公司经理岗位职责
2013/11/11 职场文书
教育专业个人求职信
2013/12/02 职场文书
房屋改造计划书
2014/01/10 职场文书
工程专业求职自荐书范文
2014/02/08 职场文书
社区综治工作汇报
2014/10/27 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
校运会班级霸气口号
2015/12/24 职场文书