LaravelDrafts是一个简单的Drop-in草稿和修订系统,用于Eloquent模型。这个包也支持相关模型的草稿;你可以控制在发布或草稿模式下保存模型。
要开始使用这个包,你的项目将使用提供的HasDrafts trait。
use Illuminate\Database\Eloquent\Model;
use Oddvalue\LaravelDrafts\Concerns\HasDrafts;
class Post extends Model
{
use HasDrafts;
// ...
}
配置好特质后,你可以使用下面的API来控制创建一个发布的模型或草稿。
// By default, the record is published
Post::create([
'title' => 'Foo',
// ...
]);
// You can set the record as a draft in a few different ways:
// Via the `is_published` flag
Post::create([
'title' => 'Foo',
'is_published' => false,
]);
// Calling `createDraft`
Post::createDraft(['title' => 'Foo']);
// Using the `saveAsDraft` method on a model
Post::make(['title' => 'Foo'])->saveAsDraft();
同样地,你可以更新一个模型,把它保持为草稿。
$post->updateAsDraft(['title' => 'Bar']);
// Or
$post->title = 'Bar';
$post->saveAsDraft();
你也可以访问草稿的修订,并配置在数据库中保留多少总修订。readme是开始使用这个包的一个好地方。