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初学者最感迷茫的问题小结
Mar 27 PHP
php中获取指定IP的物理地址的代码(正则表达式)
Jun 23 PHP
php 注释规范
Mar 29 PHP
探讨:使用XMLSerialize 序列化与反序列化
Jun 08 PHP
PHP分页详细讲解(有实例)
Oct 30 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
Oct 30 PHP
PHP实现过滤各种HTML标签
May 17 PHP
php nginx 实时输出的简单实现方法
Jan 21 PHP
windows环境下使用Composer安装ThinkPHP5
May 18 PHP
PHP正则判断一个变量是否为正整数的方法
Feb 27 PHP
PHP goto语句用法实例
Aug 06 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 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实现的MongoDB数据库操作类分享
2014/05/12 PHP
php下Memcached入门实例解析
2015/01/05 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
2017/09/27 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
基于ajax实现文件上传并显示进度条
2015/08/03 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
2016/01/05 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
vue实现图片上传预览功能
2019/12/23 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
python使用mysql数据库示例代码
2017/05/21 Python
Django框架多表查询实例分析
2018/07/04 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
canvas进阶之贝塞尔公式推导与物体跟随复杂曲线的轨迹运动
2018/01/10 HTML / CSS
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
Order by的几种用法
2013/06/16 面试题
垃圾回收的优点和原理
2014/05/16 面试题
军训自我鉴定
2013/12/14 职场文书
四好少年事迹材料
2014/01/12 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
环境整治工作方案
2014/05/18 职场文书
会议室标语
2014/06/21 职场文书
公司年底活动方案
2014/08/17 职场文书
房产分割协议书范文
2014/11/21 职场文书
怎样写家长意见
2015/06/04 职场文书
国庆节主题班会
2015/08/15 职场文书
MySQL提升大量数据查询效率的优化神器
2022/07/07 MySQL