envatic/crud-strap

Laravel CRUD 生成器

5.0.9 2024-07-29 18:24 UTC

README

高级 Laravel CRUD 生成器,生成以下内容:

Model (plus auto relationships, and  casts)
Form validation ( In controller)
Inertia (vue3) Controller or
ApiResource
Database migration
Routes
Policy
Inertia views (vue3)
php enums

要求

Laravel >= 11
PHP >= 8.3

安装

composer require envatic/crud-strap --dev

步骤详解

  1. 安装 crud-strap
composer require envatic/crud-strap --dev
  1. 发布资产
php artisan vendor:publish

选择 crudstrap 服务提供者

  1. 在 Laravel 应用的 /crud 文件夹内创建一个用于主题的文件夹,例如 /crud/admin/
  2. 在此文件夹中添加您的 crudjson 文件,例如项目表的示例文件。
{
	"fields": [
		{
			"name": "user_id",
			"type": "foreignId|constrained|onUpdate:'cascade'|onDelete:'cascade'",
			"rules": "required|integer|exists:users,id"
		},
		{
			"name": "uuid",
			"type": "uuid"
		},
		{
			"name": "name",
			"type": "string",
			"rules": "required|string"
		},
		{
			"name": "slug",
			"type": "string",
			"rules": "required|string"
		},
		{
			"name": "description",
			"type": "text|nullable",
			"rules": "required|string"
		},
		{
			"name": "status",
			"type": "radioselect|default:'pending'",
			"options": {
				"pending": "Under Review",
				"published": "Publish To Website",
				"hidden": "Hide from Users",
				"rejected": "Reject Project"
			},
			"rules": "required|string"
		},
		{
			"name": "rank",
			"type": "integer",
			"rules": "required|string"
		},
		{
			"name": "verified_at",
			"type": "timestamp|nullable"
		},
		{
			"name": "promoted_at",
			"type": "timestamp|nullable"
		}
	],
	"relationships": [
		{
			"name": "user",
			"type": "belongsTo",
			"class": "User|user_id|id"
		},
		{
			"name": "uploads",
			"type": "morphMany",
			"class": "Upload|uploadable"
		},
		{
			"name": "logo",
			"type": "morphOne|where:'key','logo'",
			"class": "Upload|uploadable"
		}
	]
}
  1. 更新 config/crudstrap.php 配置文件以包含您的主题
 [
    "name" => 'admin',
    "view-path" => 'admin',
    'folder' => "crud/admin",
    'force' => true,
    'model-namespace' => 'Models',
    'only' => 'policy,controller,model,migration,route,factory,resource,enums',
],
  1. 运行
    php artisan crud:strap admin

许可证

本项目采用 MIT 许可证 - 详细信息请参阅 许可证文件