Laravel Method paginate does not exist
You need to remove all()
:
Dispatch::where('user_id', Auth::id())->paginate(10);
When you're using all()
you get all the rows from the table and get a collection. Then you're using collection method where()
(and not Query Builder method where()
) and then you're trying to use paginate()
method on the collection and it doesn't exist.
Extending a bit Alexey's perfect answer :
Dispatch::all()
=> Returns aCollection
Dispatch::all()->where()
=> Returns aCollection
Dispatch::where()
=> Returns aQuery
Dispatch::where()->get()
=> Returns aCollection
Dispatch::where()->get()->where()
=> Returns aCollection
You can only invoke "paginate
" on a Query
, not on a Collection
.
And yes, it is totally confusing to have a where
function for both Queries
and Collections
, working as close as they do, but it is what it is.