laravel-creative/draftable

Laravel 模型草稿工具

v0.0.3 2019-07-21 04:18 UTC

This package is auto-updated.

Last update: 2024-09-21 20:38:36 UTC


README

Latest Version on Packagist Total Downloads

将 WordPress 草稿文章的强大功能带到您的 Laravel 应用程序中,只需简单的函数和步骤即可

安装

您可以通过 composer 安装此包

composer require laravel-creative/draftable

安装包后,继续运行迁移。

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::setUser($user);

获取特定用户的全部草稿

 $draftsArticles=Article::setUser($user)->getAllDrafts();

使用草稿保存数据

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

$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()

 $unPublishedDrafts=Article::getUnPublishedDraft();

要发布草稿,请使用 php $draftsArticle->publish();

  $draftsArticles=Article::getUnPublishedDraft();
  foreach($draftsArticles as $draftsArticle)
  {
   $draftsArticle->publish();
  }

获取保存模型的草稿

一旦您使用

$article->saveWithDraft();

您可以通过此方法访问此模型的全部草稿

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

如果您想使用特定草稿的 Eloquent 模型,请使用 php $draft->model()

$articleDrafts[0]->model()

恢复存储模型的特定草稿

在选择模型的草稿后,如果您想将其恢复为当前的已发布版本,请使用 php $draft->restore()

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

测试

composer test

变更日志

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

贡献

有关详细信息,请参阅 CONTRIBUTING

安全性

如果您发现任何与安全相关的问题,请通过电子邮件 mustafakhaled.dev@gmail.com 而不是使用问题跟踪器来报告。

鸣谢

许可证

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