Laravel 手動開關 Eloquent 修改器

原文連接: 何曉東 博客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');

大佬,一年之計在於春 -> 開啓一年的學習啦學習

相關文章
相關標籤/搜索