harryes/crudpackage

一个用于处理Laravel中Api CRUD操作的包

v1.0.0 2024-08-14 08:44 UTC

This package is auto-updated.

Last update: 2024-09-14 09:03:11 UTC


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

示例命令

  1. 为具有动态列的模型生成CRUD

    php artisan crud:generate SocialUser --columns=name:string,address:string?,phone:string,email:string
  2. 为无动态列的模型生成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许可证