Skip to content

Collection Queries

You can access the items of a Collection in your templates (or anywhere else) by using the collection helper. The helper returns an Eloquent collection of Block objects that you can iterate over.

Basic usage

Retrieve all entries of a collection by passing the collection handle as the first argument.

blade
@foreach (collection('my_collection') as $block)
    <h2>{{ $block->_title }}</h2>
    <p>{{ $block->_content }}</p>
@endforeach

Read more about accessing field data in the Blocks documentation.

Using the query builder

The collection helper returns all entries of a collection. In order to work with the underlying query builder instance, you can use the collection_query helper.

Use the custom whereField, whereFieldIn, and orderByField methods to filter and sort the collection data.

php
$blocks = collection_query('my_collection')
    ->whereField('type', 'main')
    ->orderByField('title')
    ->get();

TIP

Using collection_query is more efficient when you only need to fetch a subset of the collection data or want to apply filters, sorting, or pagination.