当前位置:首页 > CMS教程 > 其它CMS > 列表

Laravel 手动开关 Eloquent 修改器的操作方法

发布:smiling 来源: PHP粉丝网  添加日期:2022-02-01 20:34:59 浏览: 评论:0 

这篇文章主要介绍了Laravel 手动开关 Eloquent 修改器的操作方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下。

测试框架版本是 Laravel 6.5, Eloquent 修改器使用可以参阅 -> 查看文档

修改器的手动开关的场景就是差异化的返回数据,例如在后台管理的时候,图片地址要相对路径,然后 app 端期望返回全路径的地址,这个时候就需要手动开启和关闭了。

大概操作就是在模型中声明一个静态变量,然后修改器中判断这个静态变量值是 true/false; 如果是 true 则处理,如果为 false 就不处理,具体操作:

  1. public static $modify = true; 
  2.   /** 
  3.    * 获取用户的姓名. 
  4.    * 判断是否需要修改及 $value 是不是空值 
  5.    * @param string $value 
  6.    * @return string 
  7.    */ 
  8.   public function getFirstNameAttribute($value
  9.   { 
  10.     return self::$modify && $value ? ucfirst($value) : $value
  11.   } 

示例代码是默认开启修改器的,无需的话可以关闭修改器,在具体业务层使用前关闭就可以的。

User::$modify = false;  // 关闭修改器

return $user:findOrFail(1);

如果不手动关闭,想获取原数据,而不是被修改之后的值,也可以这样获取原始值:

$user = User::find(1);

return $user->getOriginal('first_name');

Tags: Laravel手动开关 Eloquent

分享到: