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
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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.