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面向对象全攻略 (三)特殊的引用“$this”的使用
Sep 30 PHP
表格展示无限级分类(PHP版)
Aug 21 PHP
解析PHP中常见的mongodb查询操作
Jun 20 PHP
PHP获取MSN好友列表类的实现代码
Jun 23 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
Apr 08 PHP
PIGCMS 如何关闭聊天机器人
Feb 12 PHP
php 使用redis锁限制并发访问类示例
Nov 02 PHP
php curl常用的5个经典例子
Jan 20 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
Nov 03 PHP
Laravel5.1框架注册中间件的三种场景详解
Jul 09 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 PHP
Swoole源码中如何查询Websocket的连接问题详解
Aug 30 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 文件上传代码(限制jpg文件)
2010/01/05 PHP
PHP中time(),date(),mktime()区别介绍
2013/09/28 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
php实现对象克隆的方法
2015/06/20 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
js类中获取外部函数名的方法与代码
2007/09/12 Javascript
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
JavaScript类属性的访问方式详解
2014/02/11 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
Es6 写的文件import 起来解决方案详解
2016/12/13 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
JS实现简易图片自动轮播
2020/10/16 Javascript
基于python中theano库的线性回归
2018/08/31 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
英国精品买手店:Browns Fashion
2016/09/29 全球购物
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
面向对象编程是如何提高软件开发水平的
2014/05/06 面试题
网上签名寄语活动留言
2014/01/18 职场文书
农贸市场管理制度
2014/01/31 职场文书
大学军训感言1000字
2014/02/25 职场文书
企业办公室岗位职责
2014/03/12 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
初中政治教学反思
2016/02/23 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
Python使用海龟绘图实现贪吃蛇游戏
2021/06/18 Python
V Rising 服务器搭建图文教程
2022/06/16 Servers