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)
                ->get();

Collection

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();
});

$chunks->all();

// [['A', 'A'], ['B', 'B'], ['C', 'C', 'C'], ['D']]