douzhuolong9886 2013-12-11 19:58
浏览 335
已采纳

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

Consider this line:

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

After the execution of the above line, was the Database queried (results were returned)?

  • 写回答

1条回答 默认 最新

  • duanlie7447 2013-12-11 20:06
    关注

    Yes, it was queried, and you should have the results in $nodes.

    The ->get() on the end is what prompts the execution of the query. Up until that is called, you can continue adding conditions to your query. The Advanced Wheres section of the Laravel docs has some good examples

    Note - If you want to have a look at what's going on, you can always use DB::getQueryLog()

    $queries = DB::getQueryLog();
    

    Something (very quick and dirty) like this works in a View:

    @foreach(DB::getQueryLog() as $query)
      <pre> {{ print_r($query) }}</pre>
    @endforeach
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?