缺少Illuminate\Support\Collection :: get()的参数1

wob*_*ano 5 laravel

我有一个简单的Laravel 5.1代码,我得到了ErrorException Missing argument 1 for Illuminate\Support\Collection::get().这是代码:

public function boot()
  {
     $news = News::all()->take(5)->get();
     view()->share('sideNews', $news);

  }
Run Code Online (Sandbox Code Playgroud)

每当我移除->get();那里,它都有效.这是我第一次使用eloquent.我记得当我使用查询构建器时,我总是->get()在代码的最后一行添加.我做得对吗?谢谢.

khu*_*ran 9

不要使用all方法:

public function boot()
{
    $news = News::take(5)->get();

    view()->share('sideNews', $news);
} 
Run Code Online (Sandbox Code Playgroud)

  • 但是,错误是由于使用了` - > get()`,`take()/ paginate()`它们是``get()`的形式.在那里,我简单的解决方法是删除` - > get()`方法. (2认同)