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 相关文章推荐
使用TinyButStrong模板引擎来做WEB开发
Mar 16 PHP
在PHP中读取和写入WORD文档的代码
Apr 09 PHP
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
PHP 第二节 数据类型之字符串类型
Apr 28 PHP
小谈php正则提取图片地址
Mar 27 PHP
Laravel 中获取上一篇和下一篇数据
Jul 27 PHP
PHP单链表的实现代码
Jul 05 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
给大家分享几个常用的PHP函数
Jan 15 PHP
Yii 2.0自带的验证码使用经验分享
Jun 19 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
Oct 23 PHP
PHP getName()函数讲解
Feb 03 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 session 检测和注销
2009/03/16 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
javascript css float属性的特殊写法
2008/11/13 Javascript
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
2013/06/28 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
jQuery对val和atrr("value")赋值的区别介绍
2014/09/26 Javascript
jquery移动点击的项目到列表最顶端的方法
2015/06/24 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
js从外部获取图片的实现方法
2016/08/05 Javascript
原生JS实现-星级评分系统的简单实例
2016/08/21 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
老生常谈jacascript DOM节点获取
2017/04/17 Javascript
vue translate peoject实现在线翻译功能【新手必看】
2018/06/07 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
Python实现方便使用的级联进度信息实例
2015/05/05 Python
在Python的Django框架中编写编译函数
2015/07/20 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
python实现画一颗树和一片森林
2018/06/25 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
使用APScheduler3.0.1 实现定时任务的方法
2019/07/22 Python
python实现从ftp服务器下载文件
2020/03/03 Python
浅谈python3打包与拆包在函数的应用详解
2020/05/02 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
办公室前台岗位职责范本
2013/12/10 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
linux中nohup和后台运行进程查看及终止
2021/06/24 Python
使用scrapy实现增量式爬取方式
2022/06/21 Python