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不用第三变量交换2个变量的值的解决方法
Jun 02 PHP
php使用正则过滤js脚本代码实例
May 10 PHP
Smarty局部缓存的几种方法简介
Jun 17 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
PHP实现页面静态化的超简单方法
Sep 06 PHP
PHP7常量数组用法分析
Sep 26 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
Laravel框架FormRequest中重写错误处理的方法
Feb 18 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
Apr 10 PHP
PHP创建对象的六种方式实例总结
Jun 27 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 PHP
Laravel登录失败次数限制的实现方法
Aug 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
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
PHP排序算法的复习和总结
2012/02/15 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
2012/07/19 PHP
thinkphp常见路径用法分析
2014/12/02 PHP
基于PHP给大家讲解防刷票的一些技巧
2015/11/18 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
JScript的条件编译
2007/05/29 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
几种tab切换详解
2017/02/03 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
Python基于PycURL自动处理cookie的方法
2015/07/25 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
python九九乘法表的实例
2017/09/26 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
python opencv读mp4视频的实例
2018/12/07 Python
详解Python的数据库操作(pymysql)
2019/04/04 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
英国网上电器商店:Electricshop
2020/03/15 全球购物
财务部出纳岗位职责
2013/12/22 职场文书
文明礼仪伴我行演讲稿
2014/05/12 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
北京故宫导游词
2015/01/31 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL
Pygame如何使用精灵和碰撞检测
2021/11/17 Python