原文連接: 何曉東 博客php
測試框架版本是 Laravel 6.5, Eloquent 修改器使用能夠參閱 -> 查看文檔
修改器的手動開關的場景就是差別化的返回數據,例如在後臺管理的時候,圖片地址要相對路徑,而後 app 端指望返回全路徑的地址,這個時候就須要手動開啓和關閉了。laravel
大概操做就是在模型中聲明一個靜態變量,而後修改器中判斷這個靜態變量值是 true/false; 若是是 true 則處理,若是爲 false 就不處理,具體操做:segmentfault
public static $modify = true; /** * 獲取用戶的姓名. * 判斷是否須要修改及 $value 是否是空值 * @param string $value * @return string */ public function getFirstNameAttribute($value) { return self::$modify && $value ? ucfirst($value) : $value; }
示例代碼是默認開啓修改器的,無需的話能夠關閉修改器,在具體業務層使用前關閉就能夠的app
User::$modify = false; // 關閉修改器 return $user:findOrFail(1);
若是不手動關閉,想獲取原數據,而不是被修改以後的值,也能夠這樣獲取原始值:框架
$user = User::find(1); return $user->getOriginal('first_name');
大佬,一年之計在於春 -> 開啓一年的學習啦學習