我有有一個計算訪問一個Laravel模型:Laravel(雄辯)訪問:只計算一次
型號工作有一些JobApplications被關聯到用戶。 我想知道用戶是否已經申請了一份工作。
爲此,我創建了一個訪問器user_applied
,它獲取與當前用戶的applications
關係。這可以正常工作,但訪問者每次訪問該字段時都會計算(查詢)。
是否有計算存取只一次
/**
* Whether the user applied for this job or not.
*
* @return bool
*/
public function getUserAppliedAttribute()
{
if (!Auth::check()) {
return false;
}
return $this->applications()->where('user_id', Auth::user()->id)->exists();
}
預先感謝任何容易方式。
乾杯。這個很酷的轉機肯定會解決這個問題。但是,如果有一種方法可以只計算一次訪問器,那麼它會很好... – josec89
您可以在模型上設置一個屬性。然後在隨後的調用中,檢查屬性是否有值,如果是這樣,則使用它,否則執行計算。 –
是的,那會做詭計......相當棘手,但會起作用。謝謝! – josec89