Radical Design Course by Jack McDade

From the creator of Statamic

Learn how to make your websites standout and be remembered.

Bought Jack McDade's course on design. Going through it now...and it is SO well done!

— Justin Jackson, Transistor.fm

Collection Repository

To work with the with Collection Repository, use the following Facade:

use Statamic\Facades\Collection;

Methods

Methods Description
all() Get all Collections
find($id) Get Collection by id
findByHandle($handle) Get Collection by handle
findByMount($mount) Get Asset by mounted entry id
handleExists($handle) Check to see if Collection exists
handles() Get all Collection handles
queryEntries() Query Builder for Entries
whereStructured() Get all Structured Collections
make() Makes a new Collection instance
Hot Tip!

The id is the same as handle while using the default Stache driver.

Querying

While the Collection Repository does not have a Query Builder, you can still query for Entries inside Collections with the queryEntries method. This approach can be useful for retrieving Entries with an existing Collection object.

$blog = Collection::find('blog');
 
$blog->queryEntries()->get();

Creating

Start by making an instance of a collection with the make method. You can pass the handle into it.

$collection = Collection::make('assets');

You may call additional methods on the collection to customize it further.

$collection
->title('Blog')
->routes('/blog/{slug}') // a string, or array of strings per site
->mount('blog-page') // id of an entry
->dated(true)
->ampable(false)
->sites(['one', 'two']) // array of handles
->template('template')
->layout('layout')
->cascade($data) // an array
->searchIndex('blog') // index name
->revisionsEnabled(false)
->defaultPublishState('published') // or 'draft'
->structureContents($structure) // an array
->sortField('field') // the field to sort by default
->sortDirection('asc') // or 'desc'
->taxonomies(['tags']) // array of handles
->propagate(true); // whether newly created entries propagate to other sites

Finally, save it.

$collection->save();
HR: Section
Learn More!

There is more to learn more in these related articles:

Fieldtypes

Tags

HR: Section
Docs feedback

Submit improvements, related content, or suggestions through Github.

Betterify this page →