0

我开始使用像 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 的精神,但为什么要查询我们已经拥有的信息?

我看到的唯一方法是将模型保存在文件中……但效率不高。

非常感谢您的帮助,请原谅我的英语,而不是我的主要语言......

4

1 回答 1

3

在 laravel 中,您可以只缓存结果:Cache::put($key, $value), Cache::get($key).或者,您可以通过在->remember()查询结束时链接方法来使用查询缓存。

结帐缓存 结帐查询缓存

于 2013-10-28T09:10:00.507 回答