Laravel如何手动开关Eloquent 修改器?这篇文章主要介绍了Laravel 手动开关 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');
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级