cape-and-bay/draftable

Laravel 模型草稿工具

v1.3.3 2023-05-15 17:00 UTC

This package is auto-updated.

Last update: 2024-09-15 20:05:21 UTC


README

Latest Version on Packagist Total Downloads

将 WordPress 草稿文章的功能带到您的 Laravel 应用程序中,使用简单函数和步骤

安装

您可以通过 composer 安装此包

composer require CapeAndBay/draftable

安装包后,继续运行 migrate 命令。

php artisan migrate

在您的模型中添加

use DraftableModel;

使用方法

保存模型为草稿

要将模型保存为草稿,您可以使用 php $model->saveAsDraft() 方法

 $faker = Factory::create();
 $article = new Article();
 $article->title = $faker->paragraph(1);
 $article->content = $faker->paragraph;
 $article->saveAsDraft();

如果您想将其保存到自己的表中,并且还需要创建此更新的草稿,您可以使用

$article->saveWithDraft();

为所有者分配草稿

为了为特定所有者分配草稿

$article::setOwner($user);

获取特定所有者的所有草稿

 $draft_articles = Article::setOwner($user)->getAllDrafts();

使用草稿保存数据

您可以将数据与草稿一起保存,如(发布日期)或其他任何内容。

$article->saveAsDraft();
$article->draft->setData('publish_date', Carbon::now()->addDay());
//you can get the data with this method
$article->draft->getData('publish_date');

获取模型的草稿

要获取模型的全部草稿,请使用 php Model::getAllDrafts()

 $drafts = Article::getAllDrafts();

要获取仅发布的草稿,请使用 php Model::getPublishedDraft()

 $publishedDrafts = Article::getPublishedDraft();

要获取仅未发布的草稿,请使用 php Model::getUnPublishedDraft()

 $unpublished_draft_articles = Article::getUnPublishedDraft();

要发布草稿,您可以

$draft_articles->publish();

# Publish all drafts
$draft_articles = Article::getUnPublishedDraft();
foreach($draft_articles as $draft_articles) {
    $draft_articles->publish();
}

获取已保存模型的草稿

一旦您使用

$article->saveWithDraft();

您可以通过此方法访问此模型的所有草稿

$article = Article::first();
dump($article->drafts);

如果您想使用特定草稿的 Eloquent 模型,请

$draft->model()
#
$article_drafts[0]->model()

恢复存储模型的特定草稿

在选择模型的草稿并将其恢复为当前发布的草稿后,您可以使用 php $draft->restore()

$article = Article::first();
$article_draft = $article->drafts()->first();
$article_draft->restore();

测试

composer test

更新日志

有关最近更改的更多信息,请参阅更新日志

贡献

有关详细信息,请参阅贡献指南

安全

如果您发现任何安全问题,请通过电子邮件 mustafakhaled.dev@gmail.com 反馈,而不是使用问题跟踪器。

鸣谢

许可证

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