emilijus / bloom
Laravel 10 CRUD 生成器
Requires
- php: ^8.1
- laravel/breeze: ^1.23
README
Laravel 10 CRUD 生成器 在此下载
要求
Laravel >= 10
PHP >= 8.2
安装
-
运行
composer create-project laravel/laravel name
-
为文件夹(存储、应用、资源)设置必要的权限。可能是这样的(但不推荐)
sudo chmod -R 777 folderName
-
运行
composer require emilijus/bloom
-
发布供应商文件
php artisan vendor:publish --tag=bloom
-
连接到您的数据库(在 .env 文件中)并执行迁移
php artisan migrate
-
安装程序框架(建议使用 Blade 作为 Breeze 栈和 PHPUnit 选项进行测试,因为其他选项尚未经过测试!)
php artisan bloom:install
命令
安装命令
安装命令 php artisan bloom:install
主要有三个用途。
第一个用途是初始管理员仪表板安装,这是开始使用生成器的第一步。
第二个用途是在数据库刷新且行被删除后更新用户表以添加回 'is_admin' 标志。这通过在终端中运行带 '--update-user-table' 标志的命令来完成: php artisan bloom:install --update-user-table
。这将把 'is_admin' 列添加回用户表。
第三个也是最后一个用途是创建具有管理员权限的新用户。这通过在带 '--create-admin' 标志的命令中运行来完成: php artisan bloom:install --create-admin
。在提供所需信息后,将创建一个具有管理员权限的新用户。
当然,这两个标志可以同时使用,以同时执行这两个操作以节省时间。
创建命令
创建命令用于创建新的 CRUD 模块。可以在终端中运行以下命令: php artisan bloom:create
。这将启动创建新 CRUD 模块的过程。然而,该命令需要传递一些参数才能正常工作。参数如下
- 名称:CRUD 模块的名称。这将用于创建模型、控制器、迁移和视图。名称必须以大写字母开头,并且必须是单数形式。
- 属性:CRUD 模块将具有的字段,包括必要的验证。这将用于创建迁移和视图。
创建命令还具有一些可以用于自定义创建 CRUD 模块过程的标志。标志如下
- --create-view:此标志用于如果用户想要为 CRUD 生成前端视图骨架。
- --skip-relationships:此标志用于如果用户更喜欢跳过在两个模型之间创建关系,并仅创建骨架。
删除命令
删除命令用于删除 CRUD 模块。可以在终端中运行以下命令: php artisan bloom:delete
。这将启动删除模型、视图、控制器甚至迁移的过程。该命令只需要一个参数:名称,才能正常工作。
删除命令还具有一些可以用于自定义删除 CRUD 模块过程的标志。标志如下
- --drop-table:此标志用于如果用户想要删除相关的数据库表。
- --pivot-table=: 当创建了N:M关系并且需要删除交叉表时,使用此标志,例如
--pivot-table=post_tag
。
支持的字段类型
以下字段支持命令输入
- string - 用于较短的文本字段(名称、标题等)
- integer - 用于整数值
- date - 用于日期/时间戳
- text - 用于较长的文本字段(描述)
- binary - 用于图片
- boolean - 用于复选框
- decimal - 用于十进制值
- float - 用于浮点值
支持的有效性参数
以下验证参数支持命令输入
- max: - 用于最大字符限制/数值
- min: - 用于最小字符限制/数值
- size: - 用于最大图片大小
- required - 对于必填字段
- nullable - 对于非必填字段(如果没有设置required,则为默认值)
对于图片,MIME类型将自动设置(目前为):jpeg、png、jpg和gif。 对于图片,建议使用nullable(在创建带有图片属性的CRUD时,不要提供required参数)。 例如:php artisan bloom:create Post "title:string|required|max:30, description:text|required|max:255, photo:binary|max:20000" --create-view
。
通过终端创建CRUD的示例
通过终端创建CRUD非常简单,只需输入几句话。以下是通过终端命令创建完整CRUD的逐步指南。在本例中,我们将创建一个一对一关系,在作者和帖子之间。我们还将使用--create-view标志为我们的帖子创建一个简单的前端视图。
以下是操作步骤
- 输入创建命令和所需的参数:
php artisan bloom:create Author "name:string|required|max:30"
。 - 目前,当询问我们是否要创建关系时,请选择“否”。
- 再次输入创建命令,创建Post CRUD:
php artisan bloom:create Post "title:string|required|max:30, description:text|required|max:255, photo:binary|max:20000" --create-view
。 - 当询问是否要创建关系时,请选择“是”。
- 输入之前创建的CRUD名称:
Author
。 - 对于关系类型,选择最适合您需求的一种:
N:1
。终端将显示所选关系,并询问是否这是您想选择的关系。在我们的情况下,它将显示:Post belongsTo Author
,这正是我们需要的,因此我们输入是。 - 当询问是否要创建另一个关系时,请选择“否”。
就是这样!现在您只需运行迁移,一切就会出现。要运行迁移,您可以在终端中输入:php artisan migrate
。
现在,让我们转到页面页面并创建一个新的作者和一些帖子。为此,只需点击查看按钮,然后在新打开的屏幕中选择创建。创建作者和帖子后,我们可以转到创建的视图,查看帖子是否出现在前端。在您的网站URL中输入/posts
或只需在页面部分使用显示按钮来查看创建的帖子。从这里,您可以按需编辑视图。
通过仪表板创建CRUD的示例
要从仪表板创建CRUD,您只需转到命令部分,选择创建命令,并遵循那里的说明。
对于我们的示例,我们将执行以下步骤
- 在名称字段中输入名称:
Author
。 - 输入作者CRUD的属性:
name:string|required|max:30
。 - 点击执行命令。
- 在名称字段中输入第二个CRUD的名称:
Post
。 - 输入Post CRUD的属性:
title:string|required|max:30, description:text|required|max:255, photo:binary|max:20000
。 - 选择创建视图复选框。
- 选择创建关系复选框。
- 从下拉菜单中选择关系类型。(检查关系是否正确,请查看输入字段下方的绿色文本)。
- 点击执行命令。
创建CRUD后,您可以进入页面部分进行迁移并查看创建的元素。要为创建的CRUD创建、编辑或删除新元素,您可以按该页面的"查看"
按钮。如果您还创建了前端视图的框架,您可以在页面部分点击"显示"
按钮以查看创建的视图。
终端删除CRUD示例
要使用终端删除CRUD,您需要提供命令名称。
例如:php artisan bloom:delete Post
。此外,如果我们想同时删除该CRUD的数据库表,我们需要指定删除表标志:php artisan bloom:delete Post --drop-tables
。
重要!如果您有一个N:M关系并想删除数据库中的表,您还必须提供枢纽表名称:php artisan bloom:delete Post --drop-tables --pivot-table=author_post
。
仪表板删除CRUD示例
要删除CRUD,只需从删除命令的下拉菜单中选择CRUD即可。
此外,如果您想删除数据库表,我们需要勾选删除表
复选框。重要!如果您有一个N:M关系并想删除数据库表,您还必须提供枢纽表名称。
对于我们的示例,我们将执行以下步骤
- 选择您想删除的CRUD的名称。
- 选择删除表复选框。
- 我们会留空枢纽表名称(因为我们的关系不是N:M)。