mrdebug/crudgen

几秒钟内创建Laravel Crud

1.10.7 2023-11-03 01:33 UTC

README

Crud Generator Laravel是一个Laravel集成包,可以创建真正的CRUD。它包括

  • 控制器,代码已全部编写
  • 视图(索引、创建、编辑、显示)
  • 模型,带有关系
  • 请求文件,包含验证规则
  • 迁移文件

自1.9.2版本起,完整的REST API

[ 新功能 ] 你的声音很重要!参与投票,为未来的功能和改进投票

如果你觉得这个项目很有用,请考虑给它一个星标⭐。这有助于我优先考虑并专注于保持项目更新。感谢你的支持!

安装

1. 运行以下composer命令

composer require mrdebug/crudgen --dev

2. 如果你项目中不需要Laravel Collective Form包,请安装它

composer require laravelcollective/html

(注意:如果你不需要视图,此步骤不是必需的。)

3. 发布配置文件、占位符和默认主题视图目录

php artisan vendor:publish --provider="Mrdebug\Crudgen\CrudgenServiceProvider"

使用方法

创建CRUD(或REST API)

让我们用一个现实生活中的例子来说明:构建一个博客

一篇文章(Post)可以有多个(hasMany)评论(Comment),并且属于多个(belongsToMany)标签(Tag)

一篇文章可以有标题(title)和内容(content)字段

让我们试试吧!

如果你需要REST API而不是CRUD,请阅读此维基

CRUD生成器命令

php artisan make:crud nameOfYourCrud "column1:type, column2"(理论)

php artisan make:crud post "title:string, content:text"(示例)

可用选项

使用livewire datatable生成CRUD

当你调用此命令时,控制器、视图和请求将生成你的字段(在这个例子中,标题和内容)。image

现在让我们添加我们的关系(Comment和Tag模型)

image

我们在Post和Comment之间添加一个hasMany关系,以及一个belongsToMany与Tag的关系

创建了两个迁移(create_posts和create_post_tag)。

create_posts是你的Post模型的表

create_post_tag是一个枢纽表,用于处理belongsToMany关系

Post模型也生成了,并添加了这两个关系

image

迁移

这两个迁移文件都创建在你的database/migrations目录中。如有必要,请编辑它们并运行

php artisan migrate

控制器

在你的app/Http/Controllers目录中创建了一个控制器文件。所有方法(index、create、store、show、edit、update、destroy)都已填写你的字段。

路由

要为这个新控制器创建路由,你可以这样做

Route::resource('posts', PostsController::class); (别忘了在web.php文件中导入你的PostsController)

屏幕截图

/posts/create : image

/posts : image

您可以编辑和删除您的新帖子。还创建了一个show页面哦 :)

请求

在您的 app/Http/Requests 目录下创建了一个请求文件。默认情况下,所有字段都是必需的,您可以根据需要编辑它。

视图

在您的 resources/views 目录下创建了一个视图目录。如果您想自定义生成的视图: https://github.com/misterdebug/crud-generator-laravel/wiki/Custom-your-views

您可以使用以下命令独立于CRUD生成器创建视图:php artisan make:views nameOfYourDirectoryViews "column1:type, column2"

完成您的博客

添加您的 Comment CRUD(包含comment列和post_id列)

php artisan make:crud comment "comment:text, post_id:integer"

添加您的 Tag CRUD(包含name列)

php artisan make:crud tag "name"

提示: Comment 是一个特殊情况,您可以使用 make:commentable 命令 有关可评论的文档

完成 🎉

移除CRUD

您可以在任何时候删除由 make:crud 命令创建的所有文件(除了迁移文件)。无需手动删除文件

php artisan rm:crud nameOfYourCrud --force

php artisan rm:crud post --force(在我们的例子中)

--force 标志(可选)删除所有文件而不进行确认

image

许可协议

本软件包采用 MIT 许可协议 许可。

其他项目

在GitHub上探索我的其他项目

  • LaraFileEncrypter:使用AES-256加密在Laravel中安全地存储文件,无需持续存储密钥的麻烦。