我有有一个计算访问一个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