Laravel 4:记住()结果来自:: all()

Don*_*nie 1 php caching laravel-4

有可能将remember(60)功能应用于类似的东西Service::all()吗?

这是一个很少会改变的数据集.我尝试了几种变化但没有成功:

  • Service::all()->remember(60);
  • Service::all()->remember(60)->get();
  • (Service::all())->remember(60);

当然,我知道其他可用的缓存方法,但我更喜欢这种方法的清洁度(如果有的话).

Eri*_*bar 6

是的,你应该能够简单地交换这两个如

更改

Service::get()->remember(60);
Run Code Online (Sandbox Code Playgroud)

Service::remember(60)->get();
Run Code Online (Sandbox Code Playgroud)

奇怪的怪癖我同意,但是几周前我遇到这个并且意识到我所要做的就是放在remember($time_to_remember)查询构建器的其余部分之前,它就像一个魅力.

为了您的乐趣:请参阅Laravel 4查询生成器文档

/**
  * Indicate that the query results should be cached.
  *
  * @param  int  $minutes
  * @param  string  $key
  * @return \Illuminate\Database\Query\Builder
  */

 public function remember($minutes, $key = null)
 {
     list($this->cacheMinutes, $this->cacheKey) = array($minutes, $key);
     return $this;
 }
Run Code Online (Sandbox Code Playgroud)

L4文档 - 查询