【发布时间】:2014-08-14 00:37:02
【问题描述】:
我有以下代码:
$books = Book::with(array('score' => function($query) use ($id)
{
$query->where('media_type_id','=',$id)->orderBy('sorting_score','ASC');
}))->get();
我有一张有书的桌子和一张有 media_score 的桌子 - 我有一个 belongsTo 关系。
当我执行 toSQL();它只返回我 select * from books ,而不是一个急切的加载等效项。
我需要急切加载等效项,因为我希望使用缓存系统(没有记忆功能),所以我想使用原始查询作为键。
转储查询日志不是一个选项,因为它发生在查询运行之后。
【问题讨论】:
-
查询生成器有一个函数
getEagerLoads(),您可以在这里使用。 -
当我使用 getEagerLoads 而不是 get() - 我得到一个空白
-
@WereWolf-TheAlpha 如前所述,查询是为了制作一个哈希键,因此无法通过查询日志进行转储。
标签: php sql laravel laravel-4 eloquent