我有以下代码:
$books = Book::with(array('score' => function($query) use ($id)
{
$query->where('media_type_id','=',$id)->orderBy('sorting_score','ASC');
}))->get();
我有一张带书籍的桌子和一张带有media_score的桌子 - 我有一个属于关系。
当我做toSQL();它只返回我从书本中选择*而不是一个急切的加载等价物。
我需要等待的热切加载,因为我希望使用缓存系统(没有remember函数)所以我想将原始查询用作键。
转储查询日志不是一个选项,因为它在查询运行后发生。
答案 0 :(得分:1)
尝试barryvdh plugin。它真的可以帮助你调试你的laravel应用程序。它包括几个收藏家
- QueryCollector :显示所有查询,包括绑定+计时。
- RouteCollector :显示有关当前路线的信息。
- ViewCollector :显示当前加载的视图。 (可选:显示共享数据)
- EventsCollector :显示所有活动。
醇>等
快乐的编码;
答案 1 :(得分:0)
尝试
DB::enableQueryLog();
Book::with(array('score' => function($query) use ($id)
{
$query->where('media_type_id','=',$id)->orderBy('sorting_score','ASC');
}))->get();
$query_dump = DB::getQueryLog();
并打印$query_dump