第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

調(diào)用 Laravel Auth 輔助方法的最佳方式

調(diào)用 Laravel Auth 輔助方法的最佳方式

PHP
千巷貓影 2023-07-01 17:23:51
我有一個(gè)簡(jiǎn)單的用戶表-id-name-email-role我應(yīng)該使用第一種還是第二種方法?第一種方法1.if(auth()->user()->role == 'admin'){   // do something}else if (auth()->user()->role == 'supervised'){  // do something}else{  //this is a simple user}這是第二種方法2.$auth = auth()->user();if($user->role == 'admin'){   // do something}else if ($user->role == 'supervised'){  // do something}else{  //this is a simple user}每次我調(diào)用這個(gè)方法時(shí)都會(huì)auth()->user()調(diào)用數(shù)據(jù)庫嗎?。。??
查看完整描述

2 回答

?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊

auth()->user()當(dāng)您使用或關(guān)系(已加載/設(shè)置)時(shí),它不會(huì)進(jìn)行多次調(diào)用。您可以安裝發(fā)條并檢查它。


不過,我不會(huì)在 User 類之外進(jìn)行這些比較。將這些方法添加到您的用戶模型中。


public function isAdmin()

{

    return $this->role === 'admin';

}


public function isSupervised()

{

    return $this->role === 'supervised';

}

并像這樣使用它們;


auth()->user()->isAdmin()


查看完整回答
反對(duì) 回復(fù) 2023-07-01
?
月關(guān)寶盒

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊

我會(huì)使用第一種方法,而不是創(chuàng)建不必要的變量。它不會(huì)多次調(diào)用數(shù)據(jù)庫。查看user()中的方法SessionGaurd.php


// If we've already retrieved the user for the current request we can just

// return it back immediately. We do not want to fetch the user data on

// every call to this method because that would be tremendously slow.

if (! is_null($this->user)) {

    return $this->user;

}


查看完整回答
反對(duì) 回復(fù) 2023-07-01
  • 2 回答
  • 0 關(guān)注
  • 146 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)