如何在Laravel 5.1中缓存计数功能

时间:2015-10-12 19:01:06

标签: laravel caching count laravel-5.1

我想缓存 acqusition 模型的计数功能。

确实我有1 800 000法官,我不想每次都算这个。

我不想在我使用的每个控制器中执行此操作:

$count = ( ! Cache::has('count_acquisition')) ? Cache::put('count_acquisition', Acquisition::count(), 60) : Cache::get('count_acquisition');

它很重,我更愿意直接在我的习得模型中这样做,但我不知道如何。

1 个答案:

答案 0 :(得分:2)

count模型中创建静态Acquisition方法:

public static function count()
{
    return Cache::remember('count_acquisition', 60, function () {
        return static::query()->count();
    });
}

然后在您的控制器中,只需调用此方法:

$count = Acquisition::count();