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 相关文章推荐
多重?l件?合查?(一)
Oct 09 PHP
非常好的php目录导航文件代码
Oct 09 PHP
PHP数组内存耗用太多问题的解决方法
Apr 05 PHP
如何设置mysql允许外网访问
Jun 04 PHP
解析PHP中常见的mongodb查询操作
Jun 20 PHP
php检测iis环境是否支持htaccess的方法
Feb 18 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
php计算多维数组中所有值总和的方法
Jun 24 PHP
Yii2隐藏frontend/web和backend/web的方法
Dec 12 PHP
php自定义分页类完整实例
Dec 25 PHP
Thinkphp实现短信验证注册功能
Oct 18 PHP
PHP时间类完整代码实例
Feb 26 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
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
JavaScript 不只是脚本
2007/05/30 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
2016/12/28 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
Bootstrap滚动监听组件scrollspy.js使用方法详解
2017/07/20 Javascript
在Vue项目中使用d3.js的实例代码
2018/05/01 Javascript
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
Python创建xml的方法
2015/03/10 Python
python如何通过protobuf实现rpc
2016/03/06 Python
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
pytorch数据预处理错误的解决
2020/02/20 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
Python hashlib模块的使用示例
2020/10/09 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
python+openCV对视频进行截取的实现
2020/11/27 Python
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
2017/08/24 HTML / CSS
印尼综合在线预订网站:Tiket.com(机票、酒店、火车、租车和娱乐)
2018/10/11 全球购物
时尚、社区、科技:SEVENSTORE
2019/04/26 全球购物
银行实习生的自我评价
2014/01/13 职场文书
办公室综合文员岗位职责范本
2014/02/13 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书