如何在Laravel 5.1中缓存计数函数

如何在Laravel 5.1中缓存计数函数,laravel,caching,count,laravel-5.1,Laravel,Caching,Count,Laravel 5.1,我想缓存Acqusion模型的count函数 事实上,我有180万份订单,我不想每次都数这个 我不想在我使用的每个控制器中这样做,比如: $count = ( ! Cache::has('count_acquisition')) ? Cache::put('count_acquisition', Acquisition::count(), 60) : Cache::get('count_acquisition'); 这相当繁重,我更愿意在我的采集模型中直接执行此操作,但我不知道如何执行。在您的

我想缓存Acqusion模型的count函数

事实上,我有180万份订单,我不想每次都数这个

我不想在我使用的每个控制器中这样做,比如:

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

这相当繁重,我更愿意在我的采集模型中直接执行此操作,但我不知道如何执行。

在您的
采集
模型中创建一个静态
计数
方法:

公共静态函数计数()
{
返回缓存::记住('count_acquisition',60,函数(){
返回static::query()->count();
});
}
然后在控制器中,只需调用以下方法:

$count=Acquisition::count();

Ok我可以使用return static::count();重写公共静态函数count()也可以吗?好的,我找到了您使用的“检索或更新”laravel方法!谢谢约瑟夫。