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面向对象全攻略 (四)构造方法与析构方法
Sep 30 PHP
测试php函数的方法
Nov 13 PHP
详谈PHP文件目录基础操作
Nov 11 PHP
CI分页类首页、尾页不显示的解决方法
Mar 28 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 PHP
浅谈PHP中try{}catch{}的使用方法
Dec 09 PHP
Yii2数据库操作常用方法小结
May 04 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
实例分析基于PHP微信网页获取用户信息
Nov 24 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
基于PHP实现发微博动态代码实例
Dec 11 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 Studio (eclipse)使用速度优化方法
2011/03/23 PHP
php抓取页面的几种方法详解
2013/06/17 PHP
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
php数组去除空值函数分享
2015/02/02 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
PHP copy函数使用案例代码解析
2020/09/01 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
vue实现循环切换动画
2018/10/17 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
在Echarts图中给坐标轴加一个标识线markLine
2020/07/20 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
[48:38]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs Secret
2018/03/31 DOTA
python获取豆瓣电影简介代码分享
2014/01/16 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
详解Python的三种可变参数
2019/05/08 Python
Django model class Meta原理解析
2020/11/14 Python
Python爬虫爬取有道实现翻译功能
2020/11/27 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
CSS3的Flexbox布局的简明入门指南
2016/04/08 HTML / CSS
沙龙级头发造型工具:FOXYBAE
2018/07/01 全球购物
在求职信中如何凸显个人优势
2013/10/30 职场文书
经济管理毕业生求职信
2014/03/15 职场文书
安全演讲稿开场白
2014/08/25 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
清洁员岗位职责
2015/02/15 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书