laravel-creative / draftable
Laravel 模型草稿工具
Requires
- php: ^7.1
Requires (Dev)
- orchestra/testbench: 3.8.*
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-09-21 20:38:36 UTC
README
将 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)。有关更多信息,请参阅 许可证文件