glaivepro/drafterer

该包已被废弃且不再维护。没有建议的替代包。

为Eloquent模型制定即将发布的版本

0.1.2 2018-06-26 17:46 UTC

This package is auto-updated.

Last update: 2020-10-07 07:16:54 UTC


README

由于时间不足,目前对该包的开发有所推迟。

Drafterer是一个Laravel包,允许您保存Eloquent模型的草稿版本。在提交更改之前,可用于预览即将发生的更改。对于自动保存版本也很有用。

安装

通过Composer。

$ composer require glaivepro/drafterer

之后,您应该迁移草稿表的数据库。只需这样做。

$ php artisan migrate

用法

使您的模型可草稿化。

use Illuminate\Database\Eloquent\Model;
use GlaivePro\Drafterer\Draftable;

class Article extends Model
{
    use Draftable;
	//
}

将更改保存为草稿而不是模型本身。

$article = Article::find(1);
$article->title = 'Real title';
$article->intro = 'Real introduction';
$article->save();

$article->title = 'Draft title';
$article->drafterer->save();

使用实际或草稿文章。

$article = Article::find(1);

$article->title;  // returns 'Real title'

$article->drafterer->title; // returns 'Draft title'
$article->drafterer->intro; // returns 'Real introduction'

您可能希望决定使用草稿作为实际版本 - 然后将其写下。

$article->drafterer->write();

或者您可能想要丢弃它。

$article->drafterer->discard();

对于仅草稿用户或条件性情况,我们还可以用草稿的属性替换属性。

$article->title;  // returns 'Real title'

$article->drafterer->load();

$article->title;  // returns 'Draft title'

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

安全

如果您发现任何与安全相关的问题,请通过电子邮件juris@glaive.pro联系,而不是使用问题跟踪器。

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件