PHPackages                             ibekzod/microcrud - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. ibekzod/microcrud

ActiveLibrary[API Development](/categories/api)

ibekzod/microcrud
=================

CRUD package for Laravel - Service-Repository pattern with caching, queues, and dynamic filtering

v1.0.13(4mo ago)23.6k↓29.2%MITPHPPHP ^7.4|^8.0|^8.1|^8.2|^8.3

Since Sep 3Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/iBekzod/microcrud)[ Packagist](https://packagist.org/packages/ibekzod/microcrud)[ RSS](/packages/ibekzod-microcrud/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (15)Used By (0)

 [![MicroCRUD Banner](https://camo.githubusercontent.com/db9ad453c734871905f5d33c389101cb6ef49daa39f7ac3f8dfbf48cc73d5018/68747470733a2f2f62616e6e6572732e6265796f6e64636f2e64652f4d6963726f435255442e706e673f7468656d653d6c69676874267061636b6167654d616e616765723d636f6d706f7365722b72657175697265267061636b6167654e616d653d6962656b7a6f642532466d6963726f63727564267061747465726e3d617263686974656374267374796c653d7374796c655f31266465736372697074696f6e3d412b706f77657266756c2b4c61726176656c2b7061636b6167652b666f722b6275696c64696e672b5245535466756c2b415049732b776974682b616476616e6365642b435255442b6f7065726174696f6e73266d643d312673686f7757617465726d61726b3d3026666f6e7453697a653d313030707826696d616765733d636f6465)](https://camo.githubusercontent.com/db9ad453c734871905f5d33c389101cb6ef49daa39f7ac3f8dfbf48cc73d5018/68747470733a2f2f62616e6e6572732e6265796f6e64636f2e64652f4d6963726f435255442e706e673f7468656d653d6c69676874267061636b6167654d616e616765723d636f6d706f7365722b72657175697265267061636b6167654e616d653d6962656b7a6f642532466d6963726f63727564267061747465726e3d617263686974656374267374796c653d7374796c655f31266465736372697074696f6e3d412b706f77657266756c2b4c61726176656c2b7061636b6167652b666f722b6275696c64696e672b5245535466756c2b415049732b776974682b616476616e6365642b435255442b6f7065726174696f6e73266d643d312673686f7757617465726d61726b3d3026666f6e7453697a653d313030707826696d616765733d636f6465)

 [![Total Downloads](https://camo.githubusercontent.com/e660fdd28cd203308660f099fd23a3db2db31f87f1488290c6d469a9bed9c15d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6962656b7a6f642f6d6963726f63727564)](https://packagist.org/packages/ibekzod/microcrud) [![Latest Stable Version](https://camo.githubusercontent.com/5a8694b60a60e0b8ee67dc52de0e133cb0eb17abd38b38ad998cd6ef991a8bea/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6962656b7a6f642f6d6963726f63727564)](https://packagist.org/packages/ibekzod/microcrud) [![License](https://camo.githubusercontent.com/aea5d24ecf8a05685a9381718866cdcfeadc08f97b7d09cdfbbe3ee62e2edeeb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6962656b7a6f642f6d6963726f63727564)](https://packagist.org/packages/ibekzod/microcrud) [![PHP Version](https://camo.githubusercontent.com/1c486233ca46d7ca47d5ae67e850c75aa0daddb60a2a7a476038371026093519/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6962656b7a6f642f6d6963726f63727564)](https://packagist.org/packages/ibekzod/microcrud)

MicroCRUD
=========

[](#microcrud)

**MicroCRUD** is a comprehensive Laravel package that eliminates boilerplate code and accelerates API development. Build production-ready RESTful APIs in minutes with advanced features like type-aware filtering, intelligent caching, queue support, and automatic validation.

Why MicroCRUD?
--------------

[](#why-microcrud)

Stop writing the same CRUD logic over and over. MicroCRUD provides:

- ⚡ **Rapid Development** - Create full CRUD APIs with just 3 classes
- 🎯 **Type-Aware Filtering** - Automatic search filters based on database column types
- 🔍 **Advanced Querying** - Range filters, dynamic sorting, grouping, soft deletes, pagination
- 📊 **Dynamic Grouping** - Group by model columns or relations with auto-joins and eager loading
- ✅ **Auto Validation** - Generate validation rules from database schema
- 💾 **Smart Caching** - Tag-based cache with automatic invalidation
- 🚀 **Queue Support** - Background processing for heavy operations
- 🌐 **Multi-Database** - MySQL, PostgreSQL, SQLite, SQL Server
- 🌍 **i18n Ready** - Multi-language support out of the box
- 📦 **Bulk Operations** - Process multiple records efficiently
- 🎨 **Highly Extensible** - Hooks, events, and customization points

Table of Contents
-----------------

[](#table-of-contents)

- [Requirements](#requirements)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Architecture](#architecture)
- [Core Concepts](#core-concepts)
- [Features](#features)
    - [Dynamic Filtering](#dynamic-filtering)
    - [Validation System](#validation-system)
    - [Caching](#caching)
    - [Queue Jobs](#queue-jobs)
    - [Bulk Operations](#bulk-operations)
    - [Soft Deletes](#soft-deletes)
    - [Hooks &amp; Events](#hooks--events)
- [API Documentation](#api-documentation)
- [Advanced Usage](#advanced-usage)
- [Middleware](#middleware)
- [Configuration](#configuration)
- [Examples](#examples)
- [Testing](#testing)
- [Contributing](#contributing)
- [Changelog](#changelog)
- [License](#license)

Requirements
------------

[](#requirements)

RequirementVersionPHP^7.0 | ^8.0 | ^8.1 | ^8.2 | ^8.3Laravel5.2 - 12.xInstallation
------------

[](#installation)

Install the package via Composer:

```
composer require ibekzod/microcrud
```

The package will automatically register itself via Laravel's package discovery.

### Publish Assets (Optional)

[](#publish-assets-optional)

Publish configuration files and translations:

```
php artisan vendor:publish --provider="Microcrud\MicrocrudServiceProvider"
```

This will create:

- `config/microcrud.php` - Package configuration
- `config/schema.php` - Multi-schema database configuration (PostgreSQL)
- `lang/vendor/microcrud/` - Translation files (en, ru, uz)

Quick Start
-----------

[](#quick-start)

Create a complete CRUD API in 3 steps:

### Step 1: Create Your Model

[](#step-1-create-your-model)

```
