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中取得image按钮传递的name值
Oct 09 PHP
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
Mar 06 PHP
PHP字符串的编码问题的详细介绍
Apr 27 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
php setcookie函数的参数说明及其用法
Apr 20 PHP
搭建基于Docker的PHP开发环境的详细教程
Jul 01 PHP
php提高网站效率的技巧
Sep 29 PHP
PHP Cookei记录用户历史浏览信息的代码
Feb 03 PHP
PHP+Ajax实现验证码的实时验证
Jul 20 PHP
php实现文件与16进制相互转换的方法示例
Feb 16 PHP
wordpress网站转移到本地运行测试的方法
Mar 15 PHP
PHP等比例压缩图片的实例代码
Jul 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
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
php数组合并的二种方法
2014/03/21 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
document.compatMode介绍
2009/05/21 Javascript
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
2015/08/27 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
layui的select联动实现代码
2019/09/28 Javascript
vue data恢复初始化数据的实现方法
2019/10/31 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
pyv8学习python和javascript变量进行交互
2013/12/04 Python
python监控网站运行异常并发送邮件的方法
2015/03/13 Python
Python找出9个连续的空闲端口
2016/02/01 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
用pycharm开发django项目示例代码
2019/06/13 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
python基于FTP实现文件传输相关功能代码实例
2019/09/28 Python
婚礼证婚人证婚词
2014/01/08 职场文书
大学军训感言800字
2014/02/27 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
小学优秀教师先进事迹材料
2014/12/16 职场文书
工作简历自我评价
2015/03/11 职场文书
病危通知单
2015/04/17 职场文书
2015年支教教师工作总结
2015/07/22 职场文书
同事离别感言
2015/08/04 职场文书
汶川大地震感悟
2015/08/10 职场文书