欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-10-15 09:31:47
测试框架版本是 laravel 6.5, eloquent 修改器使用可以参阅 ->  修改器的手动开关的场景就是差异化的返回数据,例如在后台管理的时候,图片地址要相...

测试框架版本是 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 修改器的操作方法,希望对大家有所帮助