在Laravel Eloquent中,Model :: get()实际上是否获取结果?

时间:2013-12-11 19:58:24

标签: php laravel eloquent

考虑这一行:

$nodes = Node::orderBy("id", "desc")->take(5)->get()

执行上述行后,是否查询了数据库(返回了结果)?

1 个答案:

答案 0 :(得分:1)

是的,它已被查询,您应该在$nodes中得到结果。

最后的->get()会提示执行查询。在调用之前,您可以继续向查询添加条件。 Laravel文档的Advanced Wheres部分有一些很好的例子

注意 - 如果您想查看正在发生的事情,可以随时使用DB::getQueryLog()

$queries = DB::getQueryLog();

这样的东西(非常快速和肮脏)适用于View

@foreach(DB::getQueryLog() as $query)
  <pre> {{ print_r($query) }}</pre>
@endforeach