关于php:从雄辩的Eloquent获取RAW SQL查询

Get RAW SQL Query from Eloquent with Eager Loading

我有以下代码:

1
2
3
4
$books = Book::with(array('score' => function($query) use ($id)
            {
               $query->where('media_type_id','=',$id)->orderBy('sorting_score','ASC');
            }))->get();

我有一个带书的桌子,一个带media_score的桌子-我有一个归属关系。

当我执行toSQL()时;它返回我只从书中选择*的信息,而不是急切加载的信息。

我需要等价的紧急加载,因为我希望使用一个缓存系统(不使用牢记功能),所以我想使用原始查询作为键。

不要转储查询日志,因为它发生在查询运行后。


尝试由barryvdh使用此插件。它确实可以帮助您调试laravel应用。它包括几个收集器

  • QueryCollector: Show all queries, including binding + timing.
  • RouteCollector: Show information about the current Route.
  • ViewCollector: Show the currently loaded views. (Optionally: display the shared data)
  • EventsCollector: Show all events.
  • etc.

    快乐编码;


    尝试

    1
    2
    3
    4
    5
    6
    7
    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