Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试缓存数据库查询(及其关系),但是在尝试了 Eloquent ORM 之后,我意识到只有在访问关系时才会查询这些关系——在我的例子中,就是在视图中。 问题是控制器包含整个缓存过程,并且由于关系是通过视图访问的;这些关系永远不会被缓存。
所以我一直在寻找一种方法来预查询控制器中的每个关系,显而易见的解决方案是在控制器中手动访问每个关系,但这似乎不是一个最佳解决方案。
TL;DR:有没有办法在实际访问之前查询所有(或部分)Eloquent 关系?
查看急切加载。
class Bar extends Eloquent { public function foos() { return $this->hasMany('Foo'); } } $bars = Bar::with('foos')->get();
$bars 现在包含在 2 个 SQL 查询中预加载所有 Foo 的所有 Bars。