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ì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Zend Framework入門教程之Zend_Db數(shù)據(jù)庫(kù)操作詳解
這篇文章主要介紹了Zend Framework入門教程之Zend_Db數(shù)據(jù)庫(kù)操作,結(jié)合實(shí)例形式詳細(xì)分析了Zend_Db_Adapter的功能及數(shù)據(jù)庫(kù)操作的相關(guān)技巧,需要的朋友可以參考下2016-12-12
php下實(shí)現(xiàn)農(nóng)歷日歷的代碼
php下實(shí)現(xiàn)農(nóng)歷日歷的代碼...2007-03-03
Yii2框架dropDownList下拉菜單用法實(shí)例分析
這篇文章主要介紹了Yii2框架dropDownList下拉菜單用法,結(jié)合實(shí)例形式分析了Yii框架中dropDownList下拉菜單的定義、實(shí)現(xiàn)方法與使用技巧,需要的朋友可以參考下2016-07-07
微信公眾號(hào)實(shí)現(xiàn)會(huì)員卡領(lǐng)取功能
這篇文章主要介紹了微信公眾號(hào)實(shí)現(xiàn)會(huì)員卡領(lǐng)取功能的相關(guān)資料,需要的朋友可以參考下2017-06-06

