Skip to content Skip to footer navigation
You are reading the docs for an old version of Statamic. Consider upgrading to Statamic 6.

Asset Container Repository

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

use Statamic\Facades\AssetContainer;

Methods#

Methods Description
all() Get all AssetContainers
find($id) Get AssetContainer by id
findByHandle($handle) Get AssetContainer by handle
findOrFail($id) Get AssetContainer by id. Throws an AssetContainerNotFoundException when the asset container cannot be found.
queryAssets() Query Builder for the AssetContainer's Assets
make() Makes a new AssetContainer instance
Hot Tip!

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

A troll pointing a teaching stick

Querying#

While the AssetContainer Repository does not have a Query Builder, you can still query for Assets inside AssetContainers with the queryAssets method. This approach can be useful for retrieving Assets with an existing AssetContainer object.

$videos = AssetContainer::find('videos');
$videos->queryAssets()
->where('series', 'stranger-things')
->get();

When an asset container can't be found, the AssetContainer::find() method will return null. If you'd prefer an exception be thrown, you may use the findOrFail method:

AssetContainer::findOrFail('videos');

Creating#

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

$container = AssetContainer::make('assets');

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

$container
->title('Assets')
->allowDownloading(true)
->allowMoving(true)
->allowRenaming(true)
->allowUploads(true)
->createFolders(true)
->searchIndex('assets');

Finally, save it.

$container->save();