harryes / crudpackage
一个用于处理Laravel中Api CRUD操作的包
v1.0.0
2024-08-14 08:44 UTC
Requires
- php: ^7.3|^8.0
- ext-json: *
Requires (Dev)
- fakerphp/faker: ^1.9
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
- vlucas/phpdotenv: ^5.3
README
一个Laravel包,可根据指定的模型自动生成包括模型、迁移、控制器、资源和路由在内的CRUD操作,支持动态列。
安装
要安装此包,请运行
composer require harryes/crudpackage
用法
安装后,您可以使用 crud:generate
Artisan命令生成CRUD操作。
基本命令
要为模型生成CRUD操作
php artisan crud:generate ModelName --columns=name:string,email:string,age:integer
参数
model
: 需要生成CRUD操作的模型的名称。--columns=
: 列及其类型的逗号分隔列表。例如:name:string,email:string,age:integer
。
支持的数据类型
以下数据类型受到支持
bigIncrements
bigInteger
binary
boolean
char
date
dateTime
decimal
double
enum
float
geometry
geometryCollection
increments
integer
ipAddress
json
jsonb
lineString
longText
macAddress
mediumIncrements
mediumInteger
mediumText
morphs
multiLineString
multiPoint
multiPolygon
nullableMorphs
nullableTimestamps
point
polygon
rememberToken
set
smallIncrements
smallInteger
softDeletes
softDeletesTz
string
text
time
timeTz
timestamp
timestampTz
tinyIncrements
tinyInteger
tinyText
unsignedBigInteger
unsignedDecimal
unsignedInteger
unsignedMediumInteger
unsignedSmallInteger
unsignedTinyInteger
uuid
year
列修饰符
- 在类型后添加
?
以使列可为空。例如:email:string?
。 - 在类型后添加
*
并跟一个值来设置默认值。例如:active:boolean*true
。
示例命令
-
为具有动态列的模型生成CRUD
php artisan crud:generate SocialUser --columns=name:string,address:string?,phone:string,email:string
-
为无动态列的模型生成CRUD
php artisan crud:generate SocialUser
验证规则
如果提供了动态列,该包将自动为控制器生成验证规则。可为空列使用 nullable
规则处理。
生成的文件
该包为指定的模型生成以下文件
- 模型:
app/Models/{ModelName}.php
- 迁移:
database/migrations/xxxx_xx_xx_create_model_name_table.php
- 控制器:
app/Http/Controllers/Api/{ModelName}Controller.php
- 资源:
app/Http/Resources/{ModelName}Resource.php
- 路由: 在
routes/api.php
中添加API资源路由
贡献
如果您想为此包做出贡献,请随时提交一个pull request。
许可
此包是开源软件,采用MIT许可证。