cape-and-bay / draftable
Laravel 模型草稿工具
v1.3.3
2023-05-15 17:00 UTC
Requires
- php: ^8.1
Requires (Dev)
- orchestra/testbench: ^7.18
- phpunit/phpunit: ^9.5
README
将 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)。有关更多信息,请参阅许可证文件