Laravel 手動(dòng)開關(guān) Eloquent 修改器的操作方法
測(cè)試框架版本是 Laravel 6.5, Eloquent 修改器使用可以參閱 -> 查看文檔
修改器的手動(dòng)開關(guān)的場(chǎng)景就是差異化的返回?cái)?shù)據(jù),例如在后臺(tái)管理的時(shí)候,圖片地址要相對(duì)路徑,然后 app 端期望返回全路徑的地址,這個(gè)時(shí)候就需要手動(dòng)開啟和關(guān)閉了。
大概操作就是在模型中聲明一個(gè)靜態(tài)變量,然后修改器中判斷這個(gè)靜態(tài)變量值是 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; }
示例代碼是默認(rèn)開啟修改器的,無(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)開關(guān) Eloquent 修改器的操作方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
在TP5數(shù)據(jù)庫(kù)中四個(gè)字段實(shí)現(xiàn)無(wú)限分類的示例
今天小編就為大家分享一篇在TP5數(shù)據(jù)庫(kù)中四個(gè)字段實(shí)現(xiàn)無(wú)限分類的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-10-10PHP設(shè)計(jì)模式之觀察者模式入門與應(yīng)用案例詳解
這篇文章主要介紹了PHP設(shè)計(jì)模式之觀察者模式入門與應(yīng)用,結(jié)合具體案例形式詳細(xì)分析了PHP觀察者模式的相關(guān)概念、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2019-12-12laravel 修改記住我功能的cookie保存時(shí)間的方法
今天小編就為大家分享一篇laravel 修改記住我功能的cookie保存時(shí)間的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-10-10PHP中通過exec調(diào)用python腳本報(bào)ModuleNotFoundError錯(cuò)誤問題及解決方法
這篇文章主要介紹了解決php中通過exec調(diào)用python腳本報(bào)ModuleNotFoundError錯(cuò)誤,本文是在 Ubuntu 20.04 上以 ubuntu 用戶身份進(jìn)行的測(cè)試,需要的朋友可以參考下2023-07-07php+ajax實(shí)現(xiàn)無(wú)刷新動(dòng)態(tài)加載數(shù)據(jù)技術(shù)
無(wú)刷新功能我們用到很多很多的,下面我就來(lái)給各位介紹一個(gè)實(shí)例,就是實(shí)現(xiàn)php+ajax實(shí)現(xiàn)無(wú)刷新滾屏加載數(shù)據(jù),例子非常的簡(jiǎn)單大家只要按流程來(lái)操作就可以了哦。2015-04-04PHP的Laravel框架中使用消息隊(duì)列queue及異步隊(duì)列的方法
這篇文章主要介紹了PHP的Laravel框架中使用消息隊(duì)列queue及異步隊(duì)列的方法,針對(duì)Laravel 5.0后的版本,示例環(huán)境為L(zhǎng)inux系統(tǒng),需要的朋友可以參考下2016-03-03