2 回答

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()

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;
}
- 2 回答
- 0 關(guān)注
- 146 瀏覽
添加回答
舉報(bào)