我开始使用像Laravel或CodeIgniter这样的PHP框架。而且我认为我理解基本的。
这是我的例子。
承认,在auth用户之后,我们转到:
mysite.fr/username/
然后我加载这个用户从我的数据库写的所有书籍。
so the username/index controllers call the books models.
然后,用户可以单击过滤器按钮以仅显示KIDS的书籍,因此URI将为:
mysite.fr/username/books/kids
在这里,书籍模型将创建一个新查询以查找所有类别=“KIDS”
的书籍我认为这很糟糕,因为我们之前已经加载了所有书籍!因此,我们不需要创建新查询,只需对Books对象应用过滤器!
无论如何都要在控制器中保存模型然后从不同的控制器访问它而不必重新创建整个对象?
我想做的是:
username/index
Books already loaded ? call the view with Book object : make the query
username/books/categories
Books already loaded ? call the view for categories : make the query for this categories
可能根本不是OOP的精神,但为什么要去寻找我们已经拥有的信息?
我认为这样做的唯一方法是将模型保存在文件中......但效率不高。
非常感谢你的帮助,请原谅我的英语,而不是我的主要语言......
答案 0 :(得分:3)
在laravel中,您只需缓存结果:Cache::put($key, $value), Cache::get($key).
或者您也可以通过在查询结尾处链接->remember()
方法来使用查询缓存。
结帐Caching 结帐Query caching