thuypd/crudgen

几秒钟内创建 Laravel Crud。

1.0.1 2023-12-25 08:33 UTC

This package is auto-updated.

Last update: 2024-09-25 10:05:42 UTC


README

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

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

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

安装

1. 运行以下 composer 命令

composer require thuypd/crudgen --dev

2. 如果您的项目中不使用 Laravel Collective Form 包,请安装它

composer require laravelcollective/html

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

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

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

用法

创建 CRUD(或 REST API)

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

Post 与许多 Comment(hasMany)有关联,并且与许多 Tag(belongsToMany)相关联

Post 可以有 titlecontent 字段

让我们试试吧 :)

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

CRUD 生成器命令

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

php artisan make:crud post "title:string, content:text"(以我们的示例为例)

可用选项

生成带有 livewire datatable 的 CRUD

当您调用此命令时,控制器、视图和请求会根据您的字段生成(在这种情况下为 title 和 content)。image

现在让我们添加我们的关系(CommentTag 模型)

image

我们在 PostComment 之间添加一个 hasMany 关系,与 Tag 之间添加一个 belongsToMany 关系

创建了两个迁移(create_postscreate_post_tag

create_posts 是您的 Post 模型的表

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

同时生成了 Post 模型,并添加了两个关系

image

迁移

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

php artisan migrate

控制器

在您的 app/Http/Controllers 目录中创建了一个控制器文件。所有方法(索引、创建、存储、显示、编辑、更新、销毁)都已根据您的字段填写。

路由

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

Route::resource('posts', PostsController::class); (不要忘记在您的 web.php 文件中导入您的 PostsController

屏幕截图

/posts/create : image

/posts : image

您可以 编辑删除 您的新帖子。还会创建一个 展示 页面哦 😄

请求

在您的 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"

完成您的博客

添加您的 评论 CRUD(包含 comment 列和 post_id

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

添加您的 标签 CRUD(包含 column 名称)

php artisan make:crud tag "name"

注意:评论 是一个特殊案例,您可以使用 make:commentable 命令 关于 commentable 的文档

完成 🎉

删除 CRUD

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

php artisan rm:crud nameOfYourCrud --force

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

--force 标志(可选)在不确认的情况下删除所有文件

image

许可证

此软件包采用 MIT 许可证