測(cè)試框架版本是 Laravel 6.5, Eloquent 修改器使用可以參閱 -> 查看文檔
修改器的手動(dòng)開(kāi)關(guān)的場(chǎng)景就是差異化的返回?cái)?shù)據(jù),例如在后臺(tái)管理的時(shí)候,圖片地址要相對(duì)路徑,然后 app 端期望返回全路徑的地址,這個(gè)時(shí)候就需要手動(dòng)開(kāi)啟和關(guān)閉了。
大概操作就是在模型中聲明一個(gè)靜態(tài)變量,然后修改器中判斷這個(gè)靜態(tài)變量值是 true/false; 如果是 true 則處理,如果為 false 就不處理,具體操作:
public static $modify = true;
/**
* 獲取用戶(hù)的姓名.
* 判斷是否需要修改及 $value 是不是空值
* @param string $value
* @return string
*/
public function getFirstNameAttribute($value)
{
return self::$modify $value ? ucfirst($value) : $value;
}
示例代碼是默認(rèn)開(kāi)啟修改器的,無(wú)需的話可以關(guān)閉修改器,在具體業(yè)務(wù)層使用前關(guān)閉就可以的
User::$modify = false; // 關(guān)閉修改器
return $user:findOrFail(1);
如果不手動(dòng)關(guān)閉,想獲取原數(shù)據(jù),而不是被修改之后的值,也可以這樣獲取原始值:
$user = User::find(1);
return $user->getOriginal('first_name');
總結(jié)
以上所述是小編給大家介紹的Laravel 手動(dòng)開(kāi)關(guān) Eloquent 修改器的操作方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
您可能感興趣的文章:- laravel5.6 框架操作數(shù)據(jù) Eloquent ORM用法示例
- laravel框架數(shù)據(jù)庫(kù)操作、查詢(xún)構(gòu)建器、Eloquent ORM操作實(shí)例分析
- Laravel框架Eloquent ORM新增數(shù)據(jù)、自定義時(shí)間戳及批量賦值用法詳解
- Laravel框架Eloquent ORM簡(jiǎn)介、模型建立及查詢(xún)數(shù)據(jù)操作詳解
- Laravel框架Eloquent ORM修改數(shù)據(jù)操作示例
- Laravel Eloquent分表方法并使用模型關(guān)聯(lián)的實(shí)現(xiàn)
- laravel7學(xué)習(xí)之無(wú)限級(jí)分類(lèi)的最新實(shí)現(xiàn)方法
- laravel admin實(shí)現(xiàn)分類(lèi)樹(shù)/模型樹(shù)的示例代碼
- 如何使用Laravel Eloquent來(lái)開(kāi)發(fā)無(wú)限極分類(lèi)