我想缓存 acqusition 模型的计数功能。
确实我有1 800 000法官,我不想每次都算这个。
我不想在我使用的每个控制器中执行此操作:
$count = ( ! Cache::has('count_acquisition')) ? Cache::put('count_acquisition', Acquisition::count(), 60) : Cache::get('count_acquisition');
它很重,我更愿意直接在我的习得模型中这样做,但我不知道如何。
答案 0 :(得分:2)
在count
模型中创建静态Acquisition
方法:
public static function count()
{
return Cache::remember('count_acquisition', 60, function () {
return static::query()->count();
});
}
然后在您的控制器中,只需调用此方法:
$count = Acquisition::count();