Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@ use Statamic\Facades\AssetContainer;
| `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](#assets) |
| `make()` | Makes a new AssetContainer instance |

Expand All@@ -45,6 +46,12 @@ $videos->queryAssets()
->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:

```php
AssetContainer::findOrFail('videos');
```

## Creating

Start by making an instance of an asset container with the `make` method. You can pass the handle into it.
Expand All@@ -71,4 +78,3 @@ Finally, save it.
```php
$container->save();
```

11 changes: 6 additions & 5 deletions content/collections/repositories/asset-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,12 +20,13 @@ use Statamic\Facades\Asset;
| Methods | Description |
| ------- | ----------- |
| `all()` | Get all Assets |
| `find()` | Get Asset by `filename` |
| `findByPath()` | Get Asset by `path` |
| `findByUrl()` | Get Asset by `url` |
| `find($filename)` | Get Asset by `filename` |
| `findByPath($path)` | Get Asset by `path` |
| `findByUrl($url)` | Get Asset by `url` |
| `findOrFail($filename)` | Get Asset by `filename`. Throws an `AssetNotFoundException` when the asset cannot be found. |
| `query()` | Query Builder |
| `whereContainer()` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder()` | Find Assets in a filesystem folder |
| `whereContainer($container)` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder($folder)` | Find Assets in a filesystem folder |
| `make()` | Makes a new `Asset` instance |

:::tip
Expand Down
9 changes: 8 additions & 1 deletion content/collections/repositories/collection-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,8 @@ use Statamic\Facades\Collection;
| `all()` | Get all Collections |
| `find($id)` | Get Collection by `id` |
| `findByHandle($handle)` | Get Collection by `handle` |
| `findByMount($mount)` | Get Asset by mounted entry `id` |
| `findByMount($mount)` | Get Collection by mounted entry `id` |
| `findOrFail($id)` | Get Collection by `id`. Throws a `CollectionNotFoundException` when the collection cannot be found. |
| `handleExists($handle)` | Check to see if `Collection` exists |
| `handles()` | Get all `Collection` handles |
| `queryEntries()` | Query Builder for [Entries](/repositories/entry-repository) |
Expand All@@ -44,6 +45,12 @@ $blog = Collection::find('blog');
$blog->queryEntries()->get();
```

When a collection can't be found, the `Collection::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Collection::findOrFail('blog');
```

## Creating

Start by making an instance of a collection with the `make` method. You can pass the handle into it.
Expand Down
4 changes: 2 additions & 2 deletions content/collections/repositories/entry-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,7 @@ use Statamic\Facades\Entry;
| `all()` | Get all Entries |
| `find($id)` | Get Entry by `id` |
| `findByUri($uri, $site)` | Get Entry by `uri`, optionally in a site |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when entry can not be found. |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when the entry cannot be found. |
| `query()` | Query Builder |
| `whereCollection($handle)` | Get all Entries in a `Collection` |
| `whereInCollection([$handles])` | Get all Entries in an array of `Collections` |
Expand All@@ -41,7 +41,7 @@ Entry::query()->where('id', 123)->first();
Entry::find(123);
```

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

```php
Entry::findOrFail(123);
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/form-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\Form;
| ------- | ----------- |
| `all()` | Get all Forms |
| `find($handle)` | Get Form by `handle` |
| `findOrFail($handle)` | Get Form by `handle`. Throws a `FormNotFoundException` when the form cannot be found. |
| `make()` | Makes a new `Form` instance |

:::tip
Expand All@@ -36,6 +37,12 @@ The `handle` is the name of the form's YAML file.
Form::find('postbox');
```

When a form can't be found, the `Form::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Form::findOrFail('postbox');
```

#### Get all forms from your site

```php
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/global-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\GlobalSet;
| `all()` | Get all GlobalSets |
| `find($id)` | Get GlobalSets by `id` |
| `findByHandle($handle)` | Get GlobalSets by `handle` |
| `findOrFail($id)` | Get GlobalSets by `id`. Throws a `GlobalSetNotFoundException` when the global set cannot be found. |
| `make()` | Makes a new `GlobalSet` instance |

## Querying
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/taxonomy-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\Taxonomy;
| `find($id)` | Get Taxonomy by `id` |
| `findByHandle($handle)` | Get Taxonomy by `handle` |
| `findByUri($mount)` | Get Taxonomy by `uri` |
| `findOrFail($id)` | Get Taxonomy by `id`. Throws a `TaxonomyNotFoundException` when the taxonomy cannot be found. |
| `handleExists($handle)` | Check to see if `Taxonomy` exists |
| `handles()` | Get all `Taxonomy` handles |
| `queryTerms()` | Query Builder for [Terms](/content-queries/term-repository) |
Expand All@@ -43,6 +44,12 @@ $tags = Taxonomy::find('tags');
$tags->queryTerms()->get();
```

When a taxonomy can't be found, the `Taxonomy::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Taxonomy::findOrFail('tags');
```

## Creating

Start by making an instance of a taxonomy with the `make` method. You can pass the handle into it.
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/term-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,6 +23,7 @@ use Statamic\Facades\Term;
| `all()` | Get all Terms |
| `find($id)` | Get Term by `id` |
| `findByUri($uri)` | Get Term by `uri` |
| `findOrFail($id)` | Get Term by `id`. Throws a `TermNotFoundException` when the term cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `Term` instance |

Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/user-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\User;
| `find($id)` | Get User by `id` |
| `findByEmail($email)` | Get User by `email` |
| `findByOAuthID($provider, $id)` | Get User by an ID from an OAuth provider |
| `findOrFail($id)` | Get User by `id`. Throws a `UserNotFoundException` when the user cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `User` instance |

Expand All@@ -40,6 +41,12 @@ User::query()
User::find('abc123');
```

When a user can't be found, the `User::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
User::findOrFail('abc123');
```

#### Get a user by email

```php
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
[5.x] Document new `findOrFail` methods on repositories by duncanmcclean · Pull Request #1305 · statamic/docs · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@ use Statamic\Facades\AssetContainer;
| `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](#assets) |
| `make()` | Makes a new AssetContainer instance |

Expand All@@ -45,6 +46,12 @@ $videos->queryAssets()
->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:

```php
AssetContainer::findOrFail('videos');
```

## Creating

Start by making an instance of an asset container with the `make` method. You can pass the handle into it.
Expand All@@ -71,4 +78,3 @@ Finally, save it.
```php
$container->save();
```

11 changes: 6 additions & 5 deletions content/collections/repositories/asset-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,12 +20,13 @@ use Statamic\Facades\Asset;
| Methods | Description |
| ------- | ----------- |
| `all()` | Get all Assets |
| `find()` | Get Asset by `filename` |
| `findByPath()` | Get Asset by `path` |
| `findByUrl()` | Get Asset by `url` |
| `find($filename)` | Get Asset by `filename` |
| `findByPath($path)` | Get Asset by `path` |
| `findByUrl($url)` | Get Asset by `url` |
| `findOrFail($filename)` | Get Asset by `filename`. Throws an `AssetNotFoundException` when the asset cannot be found. |
| `query()` | Query Builder |
| `whereContainer()` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder()` | Find Assets in a filesystem folder |
| `whereContainer($container)` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder($folder)` | Find Assets in a filesystem folder |
| `make()` | Makes a new `Asset` instance |

:::tip
Expand Down
9 changes: 8 additions & 1 deletion content/collections/repositories/collection-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,8 @@ use Statamic\Facades\Collection;
| `all()` | Get all Collections |
| `find($id)` | Get Collection by `id` |
| `findByHandle($handle)` | Get Collection by `handle` |
| `findByMount($mount)` | Get Asset by mounted entry `id` |
| `findByMount($mount)` | Get Collection by mounted entry `id` |
| `findOrFail($id)` | Get Collection by `id`. Throws a `CollectionNotFoundException` when the collection cannot be found. |
| `handleExists($handle)` | Check to see if `Collection` exists |
| `handles()` | Get all `Collection` handles |
| `queryEntries()` | Query Builder for [Entries](/repositories/entry-repository) |
Expand All@@ -44,6 +45,12 @@ $blog = Collection::find('blog');
$blog->queryEntries()->get();
```

When a collection can't be found, the `Collection::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Collection::findOrFail('blog');
```

## Creating

Start by making an instance of a collection with the `make` method. You can pass the handle into it.
Expand Down
4 changes: 2 additions & 2 deletions content/collections/repositories/entry-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,7 @@ use Statamic\Facades\Entry;
| `all()` | Get all Entries |
| `find($id)` | Get Entry by `id` |
| `findByUri($uri, $site)` | Get Entry by `uri`, optionally in a site |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when entry can not be found. |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when the entry cannot be found. |
| `query()` | Query Builder |
| `whereCollection($handle)` | Get all Entries in a `Collection` |
| `whereInCollection([$handles])` | Get all Entries in an array of `Collections` |
Expand All@@ -41,7 +41,7 @@ Entry::query()->where('id', 123)->first();
Entry::find(123);
```

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

```php
Entry::findOrFail(123);
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/form-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\Form;
| ------- | ----------- |
| `all()` | Get all Forms |
| `find($handle)` | Get Form by `handle` |
| `findOrFail($handle)` | Get Form by `handle`. Throws a `FormNotFoundException` when the form cannot be found. |
| `make()` | Makes a new `Form` instance |

:::tip
Expand All@@ -36,6 +37,12 @@ The `handle` is the name of the form's YAML file.
Form::find('postbox');
```

When a form can't be found, the `Form::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Form::findOrFail('postbox');
```

#### Get all forms from your site

```php
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/global-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\GlobalSet;
| `all()` | Get all GlobalSets |
| `find($id)` | Get GlobalSets by `id` |
| `findByHandle($handle)` | Get GlobalSets by `handle` |
| `findOrFail($id)` | Get GlobalSets by `id`. Throws a `GlobalSetNotFoundException` when the global set cannot be found. |
| `make()` | Makes a new `GlobalSet` instance |

## Querying
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/taxonomy-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\Taxonomy;
| `find($id)` | Get Taxonomy by `id` |
| `findByHandle($handle)` | Get Taxonomy by `handle` |
| `findByUri($mount)` | Get Taxonomy by `uri` |
| `findOrFail($id)` | Get Taxonomy by `id`. Throws a `TaxonomyNotFoundException` when the taxonomy cannot be found. |
| `handleExists($handle)` | Check to see if `Taxonomy` exists |
| `handles()` | Get all `Taxonomy` handles |
| `queryTerms()` | Query Builder for [Terms](/content-queries/term-repository) |
Expand All@@ -43,6 +44,12 @@ $tags = Taxonomy::find('tags');
$tags->queryTerms()->get();
```

When a taxonomy can't be found, the `Taxonomy::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Taxonomy::findOrFail('tags');
```

## Creating

Start by making an instance of a taxonomy with the `make` method. You can pass the handle into it.
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/term-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,6 +23,7 @@ use Statamic\Facades\Term;
| `all()` | Get all Terms |
| `find($id)` | Get Term by `id` |
| `findByUri($uri)` | Get Term by `uri` |
| `findOrFail($id)` | Get Term by `id`. Throws a `TermNotFoundException` when the term cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `Term` instance |

Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/user-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\User;
| `find($id)` | Get User by `id` |
| `findByEmail($email)` | Get User by `email` |
| `findByOAuthID($provider, $id)` | Get User by an ID from an OAuth provider |
| `findOrFail($id)` | Get User by `id`. Throws a `UserNotFoundException` when the user cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `User` instance |

Expand All@@ -40,6 +41,12 @@ User::query()
User::find('abc123');
```

When a user can't be found, the `User::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
User::findOrFail('abc123');
```

#### Get a user by email

```php
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [5.x] Document new `findOrFail` methods on repositories by duncanmcclean · Pull Request #1305 · statamic/docs · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@ use Statamic\Facades\AssetContainer;
| `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](#assets) |
| `make()` | Makes a new AssetContainer instance |

Expand All@@ -45,6 +46,12 @@ $videos->queryAssets()
->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:

```php
AssetContainer::findOrFail('videos');
```

## Creating

Start by making an instance of an asset container with the `make` method. You can pass the handle into it.
Expand All@@ -71,4 +78,3 @@ Finally, save it.
```php
$container->save();
```

11 changes: 6 additions & 5 deletions content/collections/repositories/asset-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,12 +20,13 @@ use Statamic\Facades\Asset;
| Methods | Description |
| ------- | ----------- |
| `all()` | Get all Assets |
| `find()` | Get Asset by `filename` |
| `findByPath()` | Get Asset by `path` |
| `findByUrl()` | Get Asset by `url` |
| `find($filename)` | Get Asset by `filename` |
| `findByPath($path)` | Get Asset by `path` |
| `findByUrl($url)` | Get Asset by `url` |
| `findOrFail($filename)` | Get Asset by `filename`. Throws an `AssetNotFoundException` when the asset cannot be found. |
| `query()` | Query Builder |
| `whereContainer()` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder()` | Find Assets in a filesystem folder |
| `whereContainer($container)` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder($folder)` | Find Assets in a filesystem folder |
| `make()` | Makes a new `Asset` instance |

:::tip
Expand Down
9 changes: 8 additions & 1 deletion content/collections/repositories/collection-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,8 @@ use Statamic\Facades\Collection;
| `all()` | Get all Collections |
| `find($id)` | Get Collection by `id` |
| `findByHandle($handle)` | Get Collection by `handle` |
| `findByMount($mount)` | Get Asset by mounted entry `id` |
| `findByMount($mount)` | Get Collection by mounted entry `id` |
| `findOrFail($id)` | Get Collection by `id`. Throws a `CollectionNotFoundException` when the collection cannot be found. |
| `handleExists($handle)` | Check to see if `Collection` exists |
| `handles()` | Get all `Collection` handles |
| `queryEntries()` | Query Builder for [Entries](/repositories/entry-repository) |
Expand All@@ -44,6 +45,12 @@ $blog = Collection::find('blog');
$blog->queryEntries()->get();
```

When a collection can't be found, the `Collection::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Collection::findOrFail('blog');
```

## Creating

Start by making an instance of a collection with the `make` method. You can pass the handle into it.
Expand Down
4 changes: 2 additions & 2 deletions content/collections/repositories/entry-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,7 @@ use Statamic\Facades\Entry;
| `all()` | Get all Entries |
| `find($id)` | Get Entry by `id` |
| `findByUri($uri, $site)` | Get Entry by `uri`, optionally in a site |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when entry can not be found. |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when the entry cannot be found. |
| `query()` | Query Builder |
| `whereCollection($handle)` | Get all Entries in a `Collection` |
| `whereInCollection([$handles])` | Get all Entries in an array of `Collections` |
Expand All@@ -41,7 +41,7 @@ Entry::query()->where('id', 123)->first();
Entry::find(123);
```

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

```php
Entry::findOrFail(123);
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/form-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\Form;
| ------- | ----------- |
| `all()` | Get all Forms |
| `find($handle)` | Get Form by `handle` |
| `findOrFail($handle)` | Get Form by `handle`. Throws a `FormNotFoundException` when the form cannot be found. |
| `make()` | Makes a new `Form` instance |

:::tip
Expand All@@ -36,6 +37,12 @@ The `handle` is the name of the form's YAML file.
Form::find('postbox');
```

When a form can't be found, the `Form::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Form::findOrFail('postbox');
```

#### Get all forms from your site

```php
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/global-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\GlobalSet;
| `all()` | Get all GlobalSets |
| `find($id)` | Get GlobalSets by `id` |
| `findByHandle($handle)` | Get GlobalSets by `handle` |
| `findOrFail($id)` | Get GlobalSets by `id`. Throws a `GlobalSetNotFoundException` when the global set cannot be found. |
| `make()` | Makes a new `GlobalSet` instance |

## Querying
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/taxonomy-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\Taxonomy;
| `find($id)` | Get Taxonomy by `id` |
| `findByHandle($handle)` | Get Taxonomy by `handle` |
| `findByUri($mount)` | Get Taxonomy by `uri` |
| `findOrFail($id)` | Get Taxonomy by `id`. Throws a `TaxonomyNotFoundException` when the taxonomy cannot be found. |
| `handleExists($handle)` | Check to see if `Taxonomy` exists |
| `handles()` | Get all `Taxonomy` handles |
| `queryTerms()` | Query Builder for [Terms](/content-queries/term-repository) |
Expand All@@ -43,6 +44,12 @@ $tags = Taxonomy::find('tags');
$tags->queryTerms()->get();
```

When a taxonomy can't be found, the `Taxonomy::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Taxonomy::findOrFail('tags');
```

## Creating

Start by making an instance of a taxonomy with the `make` method. You can pass the handle into it.
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/term-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,6 +23,7 @@ use Statamic\Facades\Term;
| `all()` | Get all Terms |
| `find($id)` | Get Term by `id` |
| `findByUri($uri)` | Get Term by `uri` |
| `findOrFail($id)` | Get Term by `id`. Throws a `TermNotFoundException` when the term cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `Term` instance |

Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/user-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\User;
| `find($id)` | Get User by `id` |
| `findByEmail($email)` | Get User by `email` |
| `findByOAuthID($provider, $id)` | Get User by an ID from an OAuth provider |
| `findOrFail($id)` | Get User by `id`. Throws a `UserNotFoundException` when the user cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `User` instance |

Expand All@@ -40,6 +41,12 @@ User::query()
User::find('abc123');
```

When a user can't be found, the `User::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
User::findOrFail('abc123');
```

#### Get a user by email

```php
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [5.x] Document new `findOrFail` methods on repositories by duncanmcclean · Pull Request #1305 · statamic/docs · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@ use Statamic\Facades\AssetContainer;
| `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](#assets) |
| `make()` | Makes a new AssetContainer instance |

Expand All@@ -45,6 +46,12 @@ $videos->queryAssets()
->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:

```php
AssetContainer::findOrFail('videos');
```

## Creating

Start by making an instance of an asset container with the `make` method. You can pass the handle into it.
Expand All@@ -71,4 +78,3 @@ Finally, save it.
```php
$container->save();
```

11 changes: 6 additions & 5 deletions content/collections/repositories/asset-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,12 +20,13 @@ use Statamic\Facades\Asset;
| Methods | Description |
| ------- | ----------- |
| `all()` | Get all Assets |
| `find()` | Get Asset by `filename` |
| `findByPath()` | Get Asset by `path` |
| `findByUrl()` | Get Asset by `url` |
| `find($filename)` | Get Asset by `filename` |
| `findByPath($path)` | Get Asset by `path` |
| `findByUrl($url)` | Get Asset by `url` |
| `findOrFail($filename)` | Get Asset by `filename`. Throws an `AssetNotFoundException` when the asset cannot be found. |
| `query()` | Query Builder |
| `whereContainer()` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder()` | Find Assets in a filesystem folder |
| `whereContainer($container)` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder($folder)` | Find Assets in a filesystem folder |
| `make()` | Makes a new `Asset` instance |

:::tip
Expand Down
9 changes: 8 additions & 1 deletion content/collections/repositories/collection-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,8 @@ use Statamic\Facades\Collection;
| `all()` | Get all Collections |
| `find($id)` | Get Collection by `id` |
| `findByHandle($handle)` | Get Collection by `handle` |
| `findByMount($mount)` | Get Asset by mounted entry `id` |
| `findByMount($mount)` | Get Collection by mounted entry `id` |
| `findOrFail($id)` | Get Collection by `id`. Throws a `CollectionNotFoundException` when the collection cannot be found. |
| `handleExists($handle)` | Check to see if `Collection` exists |
| `handles()` | Get all `Collection` handles |
| `queryEntries()` | Query Builder for [Entries](/repositories/entry-repository) |
Expand All@@ -44,6 +45,12 @@ $blog = Collection::find('blog');
$blog->queryEntries()->get();
```

When a collection can't be found, the `Collection::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Collection::findOrFail('blog');
```

## Creating

Start by making an instance of a collection with the `make` method. You can pass the handle into it.
Expand Down
4 changes: 2 additions & 2 deletions content/collections/repositories/entry-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,7 @@ use Statamic\Facades\Entry;
| `all()` | Get all Entries |
| `find($id)` | Get Entry by `id` |
| `findByUri($uri, $site)` | Get Entry by `uri`, optionally in a site |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when entry can not be found. |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when the entry cannot be found. |
| `query()` | Query Builder |
| `whereCollection($handle)` | Get all Entries in a `Collection` |
| `whereInCollection([$handles])` | Get all Entries in an array of `Collections` |
Expand All@@ -41,7 +41,7 @@ Entry::query()->where('id', 123)->first();
Entry::find(123);
```

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

```php
Entry::findOrFail(123);
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/form-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\Form;
| ------- | ----------- |
| `all()` | Get all Forms |
| `find($handle)` | Get Form by `handle` |
| `findOrFail($handle)` | Get Form by `handle`. Throws a `FormNotFoundException` when the form cannot be found. |
| `make()` | Makes a new `Form` instance |

:::tip
Expand All@@ -36,6 +37,12 @@ The `handle` is the name of the form's YAML file.
Form::find('postbox');
```

When a form can't be found, the `Form::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Form::findOrFail('postbox');
```

#### Get all forms from your site

```php
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/global-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\GlobalSet;
| `all()` | Get all GlobalSets |
| `find($id)` | Get GlobalSets by `id` |
| `findByHandle($handle)` | Get GlobalSets by `handle` |
| `findOrFail($id)` | Get GlobalSets by `id`. Throws a `GlobalSetNotFoundException` when the global set cannot be found. |
| `make()` | Makes a new `GlobalSet` instance |

## Querying
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/taxonomy-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\Taxonomy;
| `find($id)` | Get Taxonomy by `id` |
| `findByHandle($handle)` | Get Taxonomy by `handle` |
| `findByUri($mount)` | Get Taxonomy by `uri` |
| `findOrFail($id)` | Get Taxonomy by `id`. Throws a `TaxonomyNotFoundException` when the taxonomy cannot be found. |
| `handleExists($handle)` | Check to see if `Taxonomy` exists |
| `handles()` | Get all `Taxonomy` handles |
| `queryTerms()` | Query Builder for [Terms](/content-queries/term-repository) |
Expand All@@ -43,6 +44,12 @@ $tags = Taxonomy::find('tags');
$tags->queryTerms()->get();
```

When a taxonomy can't be found, the `Taxonomy::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Taxonomy::findOrFail('tags');
```

## Creating

Start by making an instance of a taxonomy with the `make` method. You can pass the handle into it.
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/term-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,6 +23,7 @@ use Statamic\Facades\Term;
| `all()` | Get all Terms |
| `find($id)` | Get Term by `id` |
| `findByUri($uri)` | Get Term by `uri` |
| `findOrFail($id)` | Get Term by `id`. Throws a `TermNotFoundException` when the term cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `Term` instance |

Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/user-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\User;
| `find($id)` | Get User by `id` |
| `findByEmail($email)` | Get User by `email` |
| `findByOAuthID($provider, $id)` | Get User by an ID from an OAuth provider |
| `findOrFail($id)` | Get User by `id`. Throws a `UserNotFoundException` when the user cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `User` instance |

Expand All@@ -40,6 +41,12 @@ User::query()
User::find('abc123');
```

When a user can't be found, the `User::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
User::findOrFail('abc123');
```

#### Get a user by email

```php
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' [5.x] Document new `findOrFail` methods on repositories by duncanmcclean · Pull Request #1305 · statamic/docs · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@ use Statamic\Facades\AssetContainer;
| `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](#assets) |
| `make()` | Makes a new AssetContainer instance |

Expand All@@ -45,6 +46,12 @@ $videos->queryAssets()
->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:

```php
AssetContainer::findOrFail('videos');
```

## Creating

Start by making an instance of an asset container with the `make` method. You can pass the handle into it.
Expand All@@ -71,4 +78,3 @@ Finally, save it.
```php
$container->save();
```

11 changes: 6 additions & 5 deletions content/collections/repositories/asset-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,12 +20,13 @@ use Statamic\Facades\Asset;
| Methods | Description |
| ------- | ----------- |
| `all()` | Get all Assets |
| `find()` | Get Asset by `filename` |
| `findByPath()` | Get Asset by `path` |
| `findByUrl()` | Get Asset by `url` |
| `find($filename)` | Get Asset by `filename` |
| `findByPath($path)` | Get Asset by `path` |
| `findByUrl($url)` | Get Asset by `url` |
| `findOrFail($filename)` | Get Asset by `filename`. Throws an `AssetNotFoundException` when the asset cannot be found. |
| `query()` | Query Builder |
| `whereContainer()` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder()` | Find Assets in a filesystem folder |
| `whereContainer($container)` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder($folder)` | Find Assets in a filesystem folder |
| `make()` | Makes a new `Asset` instance |

:::tip
Expand Down
9 changes: 8 additions & 1 deletion content/collections/repositories/collection-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,8 @@ use Statamic\Facades\Collection;
| `all()` | Get all Collections |
| `find($id)` | Get Collection by `id` |
| `findByHandle($handle)` | Get Collection by `handle` |
| `findByMount($mount)` | Get Asset by mounted entry `id` |
| `findByMount($mount)` | Get Collection by mounted entry `id` |
| `findOrFail($id)` | Get Collection by `id`. Throws a `CollectionNotFoundException` when the collection cannot be found. |
| `handleExists($handle)` | Check to see if `Collection` exists |
| `handles()` | Get all `Collection` handles |
| `queryEntries()` | Query Builder for [Entries](/repositories/entry-repository) |
Expand All@@ -44,6 +45,12 @@ $blog = Collection::find('blog');
$blog->queryEntries()->get();
```

When a collection can't be found, the `Collection::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Collection::findOrFail('blog');
```

## Creating

Start by making an instance of a collection with the `make` method. You can pass the handle into it.
Expand Down
4 changes: 2 additions & 2 deletions content/collections/repositories/entry-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,7 @@ use Statamic\Facades\Entry;
| `all()` | Get all Entries |
| `find($id)` | Get Entry by `id` |
| `findByUri($uri, $site)` | Get Entry by `uri`, optionally in a site |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when entry can not be found. |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when the entry cannot be found. |
| `query()` | Query Builder |
| `whereCollection($handle)` | Get all Entries in a `Collection` |
| `whereInCollection([$handles])` | Get all Entries in an array of `Collections` |
Expand All@@ -41,7 +41,7 @@ Entry::query()->where('id', 123)->first();
Entry::find(123);
```

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

```php
Entry::findOrFail(123);
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/form-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\Form;
| ------- | ----------- |
| `all()` | Get all Forms |
| `find($handle)` | Get Form by `handle` |
| `findOrFail($handle)` | Get Form by `handle`. Throws a `FormNotFoundException` when the form cannot be found. |
| `make()` | Makes a new `Form` instance |

:::tip
Expand All@@ -36,6 +37,12 @@ The `handle` is the name of the form's YAML file.
Form::find('postbox');
```

When a form can't be found, the `Form::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Form::findOrFail('postbox');
```

#### Get all forms from your site

```php
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/global-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\GlobalSet;
| `all()` | Get all GlobalSets |
| `find($id)` | Get GlobalSets by `id` |
| `findByHandle($handle)` | Get GlobalSets by `handle` |
| `findOrFail($id)` | Get GlobalSets by `id`. Throws a `GlobalSetNotFoundException` when the global set cannot be found. |
| `make()` | Makes a new `GlobalSet` instance |

## Querying
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/taxonomy-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\Taxonomy;
| `find($id)` | Get Taxonomy by `id` |
| `findByHandle($handle)` | Get Taxonomy by `handle` |
| `findByUri($mount)` | Get Taxonomy by `uri` |
| `findOrFail($id)` | Get Taxonomy by `id`. Throws a `TaxonomyNotFoundException` when the taxonomy cannot be found. |
| `handleExists($handle)` | Check to see if `Taxonomy` exists |
| `handles()` | Get all `Taxonomy` handles |
| `queryTerms()` | Query Builder for [Terms](/content-queries/term-repository) |
Expand All@@ -43,6 +44,12 @@ $tags = Taxonomy::find('tags');
$tags->queryTerms()->get();
```

When a taxonomy can't be found, the `Taxonomy::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Taxonomy::findOrFail('tags');
```

## Creating

Start by making an instance of a taxonomy with the `make` method. You can pass the handle into it.
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/term-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,6 +23,7 @@ use Statamic\Facades\Term;
| `all()` | Get all Terms |
| `find($id)` | Get Term by `id` |
| `findByUri($uri)` | Get Term by `uri` |
| `findOrFail($id)` | Get Term by `id`. Throws a `TermNotFoundException` when the term cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `Term` instance |

Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/user-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\User;
| `find($id)` | Get User by `id` |
| `findByEmail($email)` | Get User by `email` |
| `findByOAuthID($provider, $id)` | Get User by an ID from an OAuth provider |
| `findOrFail($id)` | Get User by `id`. Throws a `UserNotFoundException` when the user cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `User` instance |

Expand All@@ -40,6 +41,12 @@ User::query()
User::find('abc123');
```

When a user can't be found, the `User::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
User::findOrFail('abc123');
```

#### Get a user by email

```php
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [5.x] Document new `findOrFail` methods on repositories by duncanmcclean · Pull Request #1305 · statamic/docs · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@ use Statamic\Facades\AssetContainer;
| `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](#assets) |
| `make()` | Makes a new AssetContainer instance |

Expand All@@ -45,6 +46,12 @@ $videos->queryAssets()
->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:

```php
AssetContainer::findOrFail('videos');
```

## Creating

Start by making an instance of an asset container with the `make` method. You can pass the handle into it.
Expand All@@ -71,4 +78,3 @@ Finally, save it.
```php
$container->save();
```

11 changes: 6 additions & 5 deletions content/collections/repositories/asset-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,12 +20,13 @@ use Statamic\Facades\Asset;
| Methods | Description |
| ------- | ----------- |
| `all()` | Get all Assets |
| `find()` | Get Asset by `filename` |
| `findByPath()` | Get Asset by `path` |
| `findByUrl()` | Get Asset by `url` |
| `find($filename)` | Get Asset by `filename` |
| `findByPath($path)` | Get Asset by `path` |
| `findByUrl($url)` | Get Asset by `url` |
| `findOrFail($filename)` | Get Asset by `filename`. Throws an `AssetNotFoundException` when the asset cannot be found. |
| `query()` | Query Builder |
| `whereContainer()` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder()` | Find Assets in a filesystem folder |
| `whereContainer($container)` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder($folder)` | Find Assets in a filesystem folder |
| `make()` | Makes a new `Asset` instance |

:::tip
Expand Down
9 changes: 8 additions & 1 deletion content/collections/repositories/collection-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,8 @@ use Statamic\Facades\Collection;
| `all()` | Get all Collections |
| `find($id)` | Get Collection by `id` |
| `findByHandle($handle)` | Get Collection by `handle` |
| `findByMount($mount)` | Get Asset by mounted entry `id` |
| `findByMount($mount)` | Get Collection by mounted entry `id` |
| `findOrFail($id)` | Get Collection by `id`. Throws a `CollectionNotFoundException` when the collection cannot be found. |
| `handleExists($handle)` | Check to see if `Collection` exists |
| `handles()` | Get all `Collection` handles |
| `queryEntries()` | Query Builder for [Entries](/repositories/entry-repository) |
Expand All@@ -44,6 +45,12 @@ $blog = Collection::find('blog');
$blog->queryEntries()->get();
```

When a collection can't be found, the `Collection::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Collection::findOrFail('blog');
```

## Creating

Start by making an instance of a collection with the `make` method. You can pass the handle into it.
Expand Down
4 changes: 2 additions & 2 deletions content/collections/repositories/entry-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,7 @@ use Statamic\Facades\Entry;
| `all()` | Get all Entries |
| `find($id)` | Get Entry by `id` |
| `findByUri($uri, $site)` | Get Entry by `uri`, optionally in a site |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when entry can not be found. |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when the entry cannot be found. |
| `query()` | Query Builder |
| `whereCollection($handle)` | Get all Entries in a `Collection` |
| `whereInCollection([$handles])` | Get all Entries in an array of `Collections` |
Expand All@@ -41,7 +41,7 @@ Entry::query()->where('id', 123)->first();
Entry::find(123);
```

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

```php
Entry::findOrFail(123);
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/form-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\Form;
| ------- | ----------- |
| `all()` | Get all Forms |
| `find($handle)` | Get Form by `handle` |
| `findOrFail($handle)` | Get Form by `handle`. Throws a `FormNotFoundException` when the form cannot be found. |
| `make()` | Makes a new `Form` instance |

:::tip
Expand All@@ -36,6 +37,12 @@ The `handle` is the name of the form's YAML file.
Form::find('postbox');
```

When a form can't be found, the `Form::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Form::findOrFail('postbox');
```

#### Get all forms from your site

```php
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/global-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\GlobalSet;
| `all()` | Get all GlobalSets |
| `find($id)` | Get GlobalSets by `id` |
| `findByHandle($handle)` | Get GlobalSets by `handle` |
| `findOrFail($id)` | Get GlobalSets by `id`. Throws a `GlobalSetNotFoundException` when the global set cannot be found. |
| `make()` | Makes a new `GlobalSet` instance |

## Querying
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/taxonomy-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\Taxonomy;
| `find($id)` | Get Taxonomy by `id` |
| `findByHandle($handle)` | Get Taxonomy by `handle` |
| `findByUri($mount)` | Get Taxonomy by `uri` |
| `findOrFail($id)` | Get Taxonomy by `id`. Throws a `TaxonomyNotFoundException` when the taxonomy cannot be found. |
| `handleExists($handle)` | Check to see if `Taxonomy` exists |
| `handles()` | Get all `Taxonomy` handles |
| `queryTerms()` | Query Builder for [Terms](/content-queries/term-repository) |
Expand All@@ -43,6 +44,12 @@ $tags = Taxonomy::find('tags');
$tags->queryTerms()->get();
```

When a taxonomy can't be found, the `Taxonomy::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Taxonomy::findOrFail('tags');
```

## Creating

Start by making an instance of a taxonomy with the `make` method. You can pass the handle into it.
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/term-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,6 +23,7 @@ use Statamic\Facades\Term;
| `all()` | Get all Terms |
| `find($id)` | Get Term by `id` |
| `findByUri($uri)` | Get Term by `uri` |
| `findOrFail($id)` | Get Term by `id`. Throws a `TermNotFoundException` when the term cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `Term` instance |

Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/user-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\User;
| `find($id)` | Get User by `id` |
| `findByEmail($email)` | Get User by `email` |
| `findByOAuthID($provider, $id)` | Get User by an ID from an OAuth provider |
| `findOrFail($id)` | Get User by `id`. Throws a `UserNotFoundException` when the user cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `User` instance |

Expand All@@ -40,6 +41,12 @@ User::query()
User::find('abc123');
```

When a user can't be found, the `User::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
User::findOrFail('abc123');
```

#### Get a user by email

```php
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [5.x] Document new `findOrFail` methods on repositories by duncanmcclean · Pull Request #1305 · statamic/docs · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@ use Statamic\Facades\AssetContainer;
| `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](#assets) |
| `make()` | Makes a new AssetContainer instance |

Expand All@@ -45,6 +46,12 @@ $videos->queryAssets()
->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:

```php
AssetContainer::findOrFail('videos');
```

## Creating

Start by making an instance of an asset container with the `make` method. You can pass the handle into it.
Expand All@@ -71,4 +78,3 @@ Finally, save it.
```php
$container->save();
```

11 changes: 6 additions & 5 deletions content/collections/repositories/asset-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,12 +20,13 @@ use Statamic\Facades\Asset;
| Methods | Description |
| ------- | ----------- |
| `all()` | Get all Assets |
| `find()` | Get Asset by `filename` |
| `findByPath()` | Get Asset by `path` |
| `findByUrl()` | Get Asset by `url` |
| `find($filename)` | Get Asset by `filename` |
| `findByPath($path)` | Get Asset by `path` |
| `findByUrl($url)` | Get Asset by `url` |
| `findOrFail($filename)` | Get Asset by `filename`. Throws an `AssetNotFoundException` when the asset cannot be found. |
| `query()` | Query Builder |
| `whereContainer()` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder()` | Find Assets in a filesystem folder |
| `whereContainer($container)` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder($folder)` | Find Assets in a filesystem folder |
| `make()` | Makes a new `Asset` instance |

:::tip
Expand Down
9 changes: 8 additions & 1 deletion content/collections/repositories/collection-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,8 @@ use Statamic\Facades\Collection;
| `all()` | Get all Collections |
| `find($id)` | Get Collection by `id` |
| `findByHandle($handle)` | Get Collection by `handle` |
| `findByMount($mount)` | Get Asset by mounted entry `id` |
| `findByMount($mount)` | Get Collection by mounted entry `id` |
| `findOrFail($id)` | Get Collection by `id`. Throws a `CollectionNotFoundException` when the collection cannot be found. |
| `handleExists($handle)` | Check to see if `Collection` exists |
| `handles()` | Get all `Collection` handles |
| `queryEntries()` | Query Builder for [Entries](/repositories/entry-repository) |
Expand All@@ -44,6 +45,12 @@ $blog = Collection::find('blog');
$blog->queryEntries()->get();
```

When a collection can't be found, the `Collection::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Collection::findOrFail('blog');
```

## Creating

Start by making an instance of a collection with the `make` method. You can pass the handle into it.
Expand Down
4 changes: 2 additions & 2 deletions content/collections/repositories/entry-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,7 @@ use Statamic\Facades\Entry;
| `all()` | Get all Entries |
| `find($id)` | Get Entry by `id` |
| `findByUri($uri, $site)` | Get Entry by `uri`, optionally in a site |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when entry can not be found. |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when the entry cannot be found. |
| `query()` | Query Builder |
| `whereCollection($handle)` | Get all Entries in a `Collection` |
| `whereInCollection([$handles])` | Get all Entries in an array of `Collections` |
Expand All@@ -41,7 +41,7 @@ Entry::query()->where('id', 123)->first();
Entry::find(123);
```

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

```php
Entry::findOrFail(123);
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/form-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\Form;
| ------- | ----------- |
| `all()` | Get all Forms |
| `find($handle)` | Get Form by `handle` |
| `findOrFail($handle)` | Get Form by `handle`. Throws a `FormNotFoundException` when the form cannot be found. |
| `make()` | Makes a new `Form` instance |

:::tip
Expand All@@ -36,6 +37,12 @@ The `handle` is the name of the form's YAML file.
Form::find('postbox');
```

When a form can't be found, the `Form::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Form::findOrFail('postbox');
```

#### Get all forms from your site

```php
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/global-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\GlobalSet;
| `all()` | Get all GlobalSets |
| `find($id)` | Get GlobalSets by `id` |
| `findByHandle($handle)` | Get GlobalSets by `handle` |
| `findOrFail($id)` | Get GlobalSets by `id`. Throws a `GlobalSetNotFoundException` when the global set cannot be found. |
| `make()` | Makes a new `GlobalSet` instance |

## Querying
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/taxonomy-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\Taxonomy;
| `find($id)` | Get Taxonomy by `id` |
| `findByHandle($handle)` | Get Taxonomy by `handle` |
| `findByUri($mount)` | Get Taxonomy by `uri` |
| `findOrFail($id)` | Get Taxonomy by `id`. Throws a `TaxonomyNotFoundException` when the taxonomy cannot be found. |
| `handleExists($handle)` | Check to see if `Taxonomy` exists |
| `handles()` | Get all `Taxonomy` handles |
| `queryTerms()` | Query Builder for [Terms](/content-queries/term-repository) |
Expand All@@ -43,6 +44,12 @@ $tags = Taxonomy::find('tags');
$tags->queryTerms()->get();
```

When a taxonomy can't be found, the `Taxonomy::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Taxonomy::findOrFail('tags');
```

## Creating

Start by making an instance of a taxonomy with the `make` method. You can pass the handle into it.
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/term-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,6 +23,7 @@ use Statamic\Facades\Term;
| `all()` | Get all Terms |
| `find($id)` | Get Term by `id` |
| `findByUri($uri)` | Get Term by `uri` |
| `findOrFail($id)` | Get Term by `id`. Throws a `TermNotFoundException` when the term cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `Term` instance |

Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/user-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\User;
| `find($id)` | Get User by `id` |
| `findByEmail($email)` | Get User by `email` |
| `findByOAuthID($provider, $id)` | Get User by an ID from an OAuth provider |
| `findOrFail($id)` | Get User by `id`. Throws a `UserNotFoundException` when the user cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `User` instance |

Expand All@@ -40,6 +41,12 @@ User::query()
User::find('abc123');
```

When a user can't be found, the `User::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
User::findOrFail('abc123');
```

#### Get a user by email

```php
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); [5.x] Document new `findOrFail` methods on repositories by duncanmcclean · Pull Request #1305 · statamic/docs · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@ use Statamic\Facades\AssetContainer;
| `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](#assets) |
| `make()` | Makes a new AssetContainer instance |

Expand All@@ -45,6 +46,12 @@ $videos->queryAssets()
->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:

```php
AssetContainer::findOrFail('videos');
```

## Creating

Start by making an instance of an asset container with the `make` method. You can pass the handle into it.
Expand All@@ -71,4 +78,3 @@ Finally, save it.
```php
$container->save();
```

11 changes: 6 additions & 5 deletions content/collections/repositories/asset-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,12 +20,13 @@ use Statamic\Facades\Asset;
| Methods | Description |
| ------- | ----------- |
| `all()` | Get all Assets |
| `find()` | Get Asset by `filename` |
| `findByPath()` | Get Asset by `path` |
| `findByUrl()` | Get Asset by `url` |
| `find($filename)` | Get Asset by `filename` |
| `findByPath($path)` | Get Asset by `path` |
| `findByUrl($url)` | Get Asset by `url` |
| `findOrFail($filename)` | Get Asset by `filename`. Throws an `AssetNotFoundException` when the asset cannot be found. |
| `query()` | Query Builder |
| `whereContainer()` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder()` | Find Assets in a filesystem folder |
| `whereContainer($container)` | Find Assets by [AssetContainer](#asset-container) |
| `whereFolder($folder)` | Find Assets in a filesystem folder |
| `make()` | Makes a new `Asset` instance |

:::tip
Expand Down
9 changes: 8 additions & 1 deletion content/collections/repositories/collection-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,8 @@ use Statamic\Facades\Collection;
| `all()` | Get all Collections |
| `find($id)` | Get Collection by `id` |
| `findByHandle($handle)` | Get Collection by `handle` |
| `findByMount($mount)` | Get Asset by mounted entry `id` |
| `findByMount($mount)` | Get Collection by mounted entry `id` |
| `findOrFail($id)` | Get Collection by `id`. Throws a `CollectionNotFoundException` when the collection cannot be found. |
| `handleExists($handle)` | Check to see if `Collection` exists |
| `handles()` | Get all `Collection` handles |
| `queryEntries()` | Query Builder for [Entries](/repositories/entry-repository) |
Expand All@@ -44,6 +45,12 @@ $blog = Collection::find('blog');
$blog->queryEntries()->get();
```

When a collection can't be found, the `Collection::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Collection::findOrFail('blog');
```

## Creating

Start by making an instance of a collection with the `make` method. You can pass the handle into it.
Expand Down
4 changes: 2 additions & 2 deletions content/collections/repositories/entry-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,7 @@ use Statamic\Facades\Entry;
| `all()` | Get all Entries |
| `find($id)` | Get Entry by `id` |
| `findByUri($uri, $site)` | Get Entry by `uri`, optionally in a site |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when entry can not be found. |
| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when the entry cannot be found. |
| `query()` | Query Builder |
| `whereCollection($handle)` | Get all Entries in a `Collection` |
| `whereInCollection([$handles])` | Get all Entries in an array of `Collections` |
Expand All@@ -41,7 +41,7 @@ Entry::query()->where('id', 123)->first();
Entry::find(123);
```

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

```php
Entry::findOrFail(123);
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/form-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\Form;
| ------- | ----------- |
| `all()` | Get all Forms |
| `find($handle)` | Get Form by `handle` |
| `findOrFail($handle)` | Get Form by `handle`. Throws a `FormNotFoundException` when the form cannot be found. |
| `make()` | Makes a new `Form` instance |

:::tip
Expand All@@ -36,6 +37,12 @@ The `handle` is the name of the form's YAML file.
Form::find('postbox');
```

When a form can't be found, the `Form::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Form::findOrFail('postbox');
```

#### Get all forms from your site

```php
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/global-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,6 +20,7 @@ use Statamic\Facades\GlobalSet;
| `all()` | Get all GlobalSets |
| `find($id)` | Get GlobalSets by `id` |
| `findByHandle($handle)` | Get GlobalSets by `handle` |
| `findOrFail($id)` | Get GlobalSets by `id`. Throws a `GlobalSetNotFoundException` when the global set cannot be found. |
| `make()` | Makes a new `GlobalSet` instance |

## Querying
Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/taxonomy-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\Taxonomy;
| `find($id)` | Get Taxonomy by `id` |
| `findByHandle($handle)` | Get Taxonomy by `handle` |
| `findByUri($mount)` | Get Taxonomy by `uri` |
| `findOrFail($id)` | Get Taxonomy by `id`. Throws a `TaxonomyNotFoundException` when the taxonomy cannot be found. |
| `handleExists($handle)` | Check to see if `Taxonomy` exists |
| `handles()` | Get all `Taxonomy` handles |
| `queryTerms()` | Query Builder for [Terms](/content-queries/term-repository) |
Expand All@@ -43,6 +44,12 @@ $tags = Taxonomy::find('tags');
$tags->queryTerms()->get();
```

When a taxonomy can't be found, the `Taxonomy::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
Taxonomy::findOrFail('tags');
```

## Creating

Start by making an instance of a taxonomy with the `make` method. You can pass the handle into it.
Expand Down
1 change: 1 addition & 0 deletions content/collections/repositories/term-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,6 +23,7 @@ use Statamic\Facades\Term;
| `all()` | Get all Terms |
| `find($id)` | Get Term by `id` |
| `findByUri($uri)` | Get Term by `uri` |
| `findOrFail($id)` | Get Term by `id`. Throws a `TermNotFoundException` when the term cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `Term` instance |

Expand Down
7 changes: 7 additions & 0 deletions content/collections/repositories/user-repository.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,6 +24,7 @@ use Statamic\Facades\User;
| `find($id)` | Get User by `id` |
| `findByEmail($email)` | Get User by `email` |
| `findByOAuthID($provider, $id)` | Get User by an ID from an OAuth provider |
| `findOrFail($id)` | Get User by `id`. Throws a `UserNotFoundException` when the user cannot be found. |
| `query()` | Query Builder |
| `make()` | Makes a new `User` instance |

Expand All@@ -40,6 +41,12 @@ User::query()
User::find('abc123');
```

When a user can't be found, the `User::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method:

```php
User::findOrFail('abc123');
```

#### Get a user by email

```php
Expand Down