Skip to content

Entries

Entry lifecycle, attributes, factory, save/delete, and protected fields.

An entry is a single record in a stream. Entries are instances of Streams\Core\Entry\Entry or a custom class set in stream config.abstract.

Creating entries

Persist immediately via repository or criteria:

$post = Streams::repository('posts')->create([
    'title' => 'Hello',
]);
// create() calls save() internally

In-memory only via factory (defaults applied, not saved):

$post = Streams::make('posts')->factory()->create(['title' => 'Draft']);
$post->save();

Factory batch helpers: collect($count), state($callback).

Reading and updating

$post = Streams::entries('posts')->find('my-post');
$post->title = 'Updated';
$post->save();

Deleting

$post->delete();

Validation

Validation is opt-in. Core does not validate automatically on save:

$post->validator()->validate();
$post->save();

See Validation.

Protected fields

Fields with "protected": true are excluded from serialization:

$post->toArray(); // omits protected fields

Callbacks

Entry lifecycle hooks use Core callbacks (not Laravel events): creating, created, saving, saved, deleting. See Callbacks.

Related