What is the difference between collection and query builder in Laravel?

Better Stack Team
Updated on February 17, 2023

Query Builder

Builder is a layer of abstraction between your application and the database. Typically it's used to provide a common API for you to build platform-agnostic database queries.

$users = DB::table('users')
                ->where('votes', '>=', 100)


A Collection is a data structure that encapsulates a standard PHP array. It provides a chainable API for standard array_* type PHP functions, together with other useful functions for manipulating a collection of data.

$collection = collect(str_split('AABBCCCD'));

$chunks = $collection->chunkWhile(function ($value, $key, $chunk) {
    return $value === $chunk->last();


// [['A', 'A'], ['B', 'B'], ['C', 'C', 'C'], ['D']]
Got an article suggestion? Let us know
Explore more
Licensed under CC-BY-NC-SA

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

We are hiring.

Software is our way of making the world a tiny bit better. We build tools for the makers of tomorrow.

Explore all positions →

Reliability is the
ultimate feature

Delightful observability tools that turn your logs & monitoring into a secret weapon for shipping better software faster.

Explore Better Stack