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