devsi / crudy
高级Laravel CRUD生成器
Requires
- php: >=8.0.0
This package is auto-updated.
Last update: 2024-09-30 01:54:42 UTC
README
Crudy (CRUD生成器)
- 控制器
- 视图 (index, create, edit, show)
- 模型 (带关系)
- 请求 (包含验证规则的文件)
- 迁移
安装
1. 运行以下composer命令
composer require devsi/crudy
2. 如果您的项目中没有使用Laravel Collective Form包,请安装它
composer require laravelcollective/html
(注意:如果您不需要视图,则此步骤不是必需的。)
3. 发布配置文件和默认主题目录以供视图使用
php artisan vendor:publish --provider="devsi\crudy\CrudyServiceProvider"
用法
创建CRUD(或REST API)
让我们用一个现实生活中的例子来说明:构建一个博客
Post
有多个(hasMany)Comment
和属于多个(belongsToMany)Tag
Post
可以有 title
和 content
字段
让我们开始吧
如果您需要REST API而不是CRUD,只需这样做:php artisan make:rest-api nameOfYourCrud "column1:type, column2"
CRUD生成器命令
php artisan make:crud nameOfYourCrud "column1:type, column2"
(理论)
php artisan make:crud post "title:string, content:text"
(示例)
可用选项 [string,text,integer]
现在让我们添加我们的关系(Comment
和 Tag
模型)
我们在我们的 Post
和 Comment
之间添加一个 hasMany
关系,与 Tag
之间添加一个 belongsToMany
关系
创建了两个迁移(create_posts
和 create_post_tag
)。
create_posts
是你的 Post
模型的表
create_post_tag
是一个枢纽表,用于处理 belongsToMany
关系
Post
模型也生成了,并添加了两个关系
迁移
两个迁移文件都创建在您的 database/migrations 目录中。如果需要,请编辑它们并运行
php artisan migrate
控制器
在您的 app/Http/Controllers 目录中创建了一个控制器文件。所有方法(index, create, store, show, edit, update, destroy)都已填充了您的字段。
路由
要为此新控制器创建路由,您可以这样做
Route::resource('posts', PostsController::class);
(别忘了在您的 web.php
文件中导入您的 PostsController
)
截图
您可以对您的新帖子进行 edit
和 delete
操作。还创建了一个 show
页面
请求
在您的 app/Http/Requests 目录中创建了一个请求文件。默认情况下,所有字段都是必需的,您可以按照需要编辑它。
视图
在您的 resources/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(带有一个 column
名称)
php artisan make:crud 标签 "名称"
完成 🎉
删除一个 CRUD
您可以在任何时间删除由 make:crud
命令创建的所有文件(除迁移文件外)。无需手动删除文件
php artisan rm:crud 您的crud名称 --force
php artisan rm:crud post --force
(在我们的例子中)
带有 --force
标志(可选)将不进行确认删除所有文件
许可证
此包根据 许可证 MIT 授权。