abdugoffor / admin-crud-generator-with-api
A admin CRUD generator with api for Laravel models
Package info
github.com/Abdugoffor/Admin-CRUD-generator-with-Api
Language:JavaScript
pkg:composer/abdugoffor/admin-crud-generator-with-api
Requires
- php: >=8.0
- illuminate/support: ^9.0|^10.0|^11.0|^12.0
README
Laravel loyihalarda Admin CRUD, API CRUD, Auth, va Role Permission tizimini tez yaratish uchun generator.
Generator quyidagilarni avtomatik yaratadi:
- Admin CRUD (Controller, Request, Views)
- API CRUD (Controller, Resource)
- Auth tizimi
- API Auth
- Select (enum) maydonlar
- Ko‘p tilli
json/jsonbmaydonlar - Boolean maydonlar (switch)
- File upload maydonlari
O‘rnatish
Composer orqali paketni o‘rnating:
composer require abdugoffor/admin-crud-generator-with-api:dev-main
Ishlatish
1. Model va migratsiya yaratish
php artisan make:model Post -m
2. Migratsiyada maydonlarni yozish
public function up() { Schema::create('posts', function (Blueprint $table) { $table->id(); $table->string('title'); $table->text('description'); $table->timestamps(); }); }
3. Migratsiyani ishga tushirish
php artisan migrate
Admin CRUD yaratish
php artisan make:crud Post
API CRUD yaratish
php artisan make:api-crud Post
Auth yaratish
Admin Auth
php artisan make:auth
API Auth
php artisan make:api-auth
Select (Enum) maydonlar
Agar maydon select bo‘lib chiqishi kerak bo‘lsa model ichida enumValues yoziladi.
public $enumValues = [ 'status' => [ 'values' => ['draft', 'published', 'archived'], 'default' => 'draft', ], ];
Generator bu maydonni select input qilib chiqaradi.
Ko‘p tilli maydonlar (JSON / JSONB)
Agar maydon ko‘p tilli bo‘lsa casts ichida array qilib yoziladi.
protected $casts = [ 'title' => 'array', 'description' => 'array', ];
Misol uchun bazada:
{
"uz": "Sarlavha",
"ru": "Заголовок",
"en": "Title"
}
Boolean maydonlar
Agar maydon true/false bo‘lsa:
protected $casts = [ 'is_active' => 'boolean', ];
Generator bu maydonni switch / checkbox qilib chiqaradi.
File upload maydonlari
Agar modelda file upload bo‘lsa:
protected $fileFields = ['photo']; public function getFileFields(): array { return $this->fileFields; }
Shunda generator bu maydonni file input qilib yaratadi.
To‘liq Model Namuna
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Blog extends Model { protected $fillable = [ 'title', 'description', 'photo', 'content', 'video_link', 'footer_text', 'date', 'is_active' ]; protected $casts = [ 'title' => 'array', 'description' => 'array', 'content' => 'array', 'footer_text' => 'array', 'is_active' => 'boolean', ]; protected $fileFields = ['photo']; public function getFileFields(): array { return $this->fileFields; } }
Loyihani ishga tushirish
php artisan serve
So‘ngra brauzerda oching:
http://127.0.0.1:8000/posts
CRUD tizimi ishlashni boshlaydi.
Xulosa
Generator modelga qarab avtomatik ishlaydi:
enumValues→ select inputcasts array→ ko‘p tilli maydoncasts boolean→ switch/checkboxfileFields→ file upload input
Bu orqali Laravel admin va API CRUD tizimlarini juda tez yaratish mumkin.