摘要:所以,這個時候,就可以派上用場了我們只需要這樣獲取用戶的地址信息就好這個時候,即使為空值,這一行代碼也不會報錯,而是會顯示一個空的字符串出來。
在 Laravel 新版本當中,有一個非常有用的輔助方法:optional()
這個方法的應用場景是什么呢?其實如果你多寫代碼的話,經(jīng)常會遇到類似下面的報錯信息:
Call to a member function on null object...
這其實是在我們的代碼中存在著某個對象為空,所以在我們調(diào)用方法或者獲取屬性的時候就會報出以上錯誤信息。比如我們舉個例子:
在 User 的體系中,我們也有 Profile 的 Model 文件,而一個 User 擁有一個 Profile (Profile 中包含用戶的地址信息)
public function profile(){ return $this->hasOne(Profile::class); }
然后在我們 User 的信息頁面,我們希望通過下面的代碼獲取 User 的地址:
$user->profile->address;
如果在數(shù)據(jù)庫中,我們沒有該 User 對應的 Profile,這個時候就會出現(xiàn)文章開始說到的類似錯誤了。
所以,這個時候,optional() 就可以派上用場了
我們只需要這樣獲取用戶的地址信息就好:
optional$user->profile)->address
這個時候,即使 profile 為空值(null),這一行代碼也不會報錯,而是會顯示一個空的字符串出來。
是不是非常有用!有了 optional() 這個輔助函數(shù)之后,在很多類似的代碼中,在你不確定是否該對象會為 null 的時候,就可以加上 optional() 來做保險了!
關(guān)注公眾號 codecasts ,每天更新 PHP Laravel 技能
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26098.html
摘要:文章轉(zhuǎn)自包含各種全局輔助函數(shù)。返回應用程序中公共目錄的完全限定的絕對路徑。要解決此問題,只需運行以下命令即可使用包函數(shù)將字符串轉(zhuǎn)換為復數(shù)形式。該值將被傳遞給閉包,然后該值將被返回。方法返回布爾值,但由于用了,所以它將返回。 showImg(https://segmentfault.com/img/remote/1460000018944915?w=1408&h=846); 文章轉(zhuǎn)自:h...
摘要:要解決此問題,只需運行以下命令即可使用包函數(shù)將字符串轉(zhuǎn)換為復數(shù)形式。函數(shù)接受兩個參數(shù)一個值和一個閉包。該值將被傳遞給閉包,然后該值將被返回。更新方法返回布爾值,但由于用了,所以它將返回。這對調(diào)試非常有用。函數(shù)根據(jù)給定的字符串生成一個友好的。 Laravel包含各種全局輔助函數(shù)(helper), 你可以使用它們使開發(fā)工作流程更加輕松。 在這里,我將會列一下10個最好的 Laravel h...
摘要:函數(shù)允許你將多維數(shù)組轉(zhuǎn)換為使用點符號的一維數(shù)組。返回應用程序中公共目錄的完全限定的絕對路徑。要解決此問題,只需運行以下命令即可使用包將字符串轉(zhuǎn)換為復數(shù)形式。接受兩個參數(shù)一個值和一個閉包。該值將被傳遞給閉包,然后該值將被返回。 array_dot() 函數(shù)允許你將多維數(shù)組轉(zhuǎn)換為使用點符號的一維數(shù)組。 $array = [ user => [username => somethin...
摘要:本質(zhì)是將為的請求轉(zhuǎn)化為追加的組內(nèi)請求,對應的匿名函數(shù)依然是為的請求假如為,則返回優(yōu)先從設(shè)置里面取值,沒有則生成單數(shù)形式的字符串,并將字符替換為小結(jié)資源類型的構(gòu)造,實際上會被轉(zhuǎn)化為構(gòu)造多個默認資源的路由,本質(zhì)依然是基本構(gòu)造 Laravel 路由 路由構(gòu)造總覽 構(gòu)造方法有: Route::get、Route::post、Route::put、Route::patch、Route::del...
摘要:發(fā)布于年月,從那時起大約每六個月會發(fā)布一次的新版本。將會支持相對較新的來管理項目中的環(huán)境文件。棄用和輔助函數(shù)所有的和全局輔助函數(shù)都已棄用,將在中刪除。將返回更干凈的相同值。和通知和通知已從主項目中刪除,并提取到第三方軟件包中。 showImg(https://segmentfault.com/img/remote/1460000018269419?w=585&h=400); 無論是從零...
閱讀 2825·2023-04-25 22:51
閱讀 2084·2021-10-11 10:58
閱讀 3323·2019-08-30 10:49
閱讀 1889·2019-08-29 17:09
閱讀 3147·2019-08-29 10:55
閱讀 854·2019-08-26 10:34
閱讀 3513·2019-08-23 17:54
閱讀 997·2019-08-23 16:06