Laravel 8 tap() {#collection-method}

2021-07-19 10:40 更新

tap 函數(shù)接受兩個參數(shù): 任意 $value 和閉包。 $value 將被傳遞給閉包,并被 tap 函數(shù)返回。與閉包的返回值無關(guān):

$user = tap(User::first(), function ($user) {
    $user->name = 'taylor';

    $user->save();
}); 

如果沒有向 tap 函數(shù)傳遞閉包,可以調(diào)用給定 $value 的任意方法。調(diào)用此方法的返回值永遠(yuǎn)是 $value ,無論方法在其定義中返回什么。例如,Eloquent 的 update 方法指定返回一個整數(shù)。但是,我們可以通過 tap 函數(shù)鏈?zhǔn)秸{(diào)用 update 方法強(qiáng)制其返回模型自身:

$user = tap($user)->update([
    'name' => $name,
    'email' => $email,
]); 
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號