PHPackages                             masuresh124/simple-crud-builder - 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. [Database &amp; ORM](/categories/database)
4. /
5. masuresh124/simple-crud-builder

ActiveLibrary[Database &amp; ORM](/categories/database)

masuresh124/simple-crud-builder
===============================

This package used to create simple CRUD

2.0.5(2y ago)14MITPHPPHP &gt;=7.1.0

Since Dec 8Pushed 2y ago1 watchersCompare

[ Source](https://github.com/masuresh124/simple-crud-builder)[ Packagist](https://packagist.org/packages/masuresh124/simple-crud-builder)[ Docs](https://github.com/masuresh124/simple-crud-builder)[ RSS](/packages/masuresh124-simple-crud-builder/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (2)Versions (10)Used By (0)

Simple CRUD Builder
===================

[](#simple-crud-builder)

This form builders offer an intuitive, user-friendly interface where users can easily add form elements (such as text fields, checkboxes, radio buttons, dropdown etc.) to create custom forms without the need much coding skills.

### Here is example to use form builder

[](#here-is-example-to-use-form-builder)

In Controller

```
namespace App\Http\Controllers;

use App\Forms\ProductForm;
use App\Models\Product;
use Illuminate\Http\Request;
use Masuresh124\SimpleCrudBuilder\FormBuilder\FormBuilder;

class ProductController extends Controller
{

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        $entity = new Product();
       return FormBuilder::createFormSimpleBuilder($entity, ProductForm::class, 'product');
    }
....

}
```

In Product form

```
use Masuresh124\SimpleCrudBuilder\FormBuilder\Form;

class ProductForm extends Form
{

    public function createForm($entity)
    {
        $this->add(self::TEXT, 'name', ['required' => true, 'placeHolder' => 'Enter your product name', 'label' => 'Product Name']);
        $this->add(self::TEXTAREA, 'description', ['required' => true, 'placeHolder' => 'Enter your product description', 'label' => 'Product Description']);
.....
        return $this;
    }
}
```

In product.blade.php

```

                    {{ $form->text('name') }}

                    {{ $form->textArea('description') }}

```

Installation
------------

[](#installation)

Install simple crud builder with composer

```
  composer require masuresh124/simple-crud-builder
```

Add the following code in config\\app.php

```
        /**
         * Package Service Providers...
         */
        Masuresh124\SimpleCrudBuilder\Providers\SimpleCrudProvider::class,
```

Step 1 - Create Form
--------------------

[](#step-1---create-form)

Create a form in app\\Forms\\ProductForm.php

```
namespace App\Forms;
use Masuresh124\SimpleCrudBuilder\FormBuilder\Form;

class ProductForm extends Form
{
    public function createForm($entity)
    {
        $this->add(self::TEXT, 'name', ['required' => true, 'placeHolder' => 'Enter your product name', 'label' => 'Product Name']);
        $this->add(self::TEXTAREA, 'description', ['required' => true, 'placeHolder' => 'Enter your product description', 'label' => 'Product Description']);
        $this->add(self::RADIO, 'is_active', ['required' => true, 'choices' => ['Active' => 1, 'In Active' => 0]]);
        $this->add(self::CHECKBOX, 'is_new_arrival', ['required' => true, 'label' => 'Is New Arrival']);
        $this->add(self::CHECKBOX, 'is_best_seller', ['required' => true, 'label' => 'Is Best Seller']);
        $this->add(self::CHECKBOX, 'is_taxable', ['required' => true, 'label' => 'Is Taxable']);
        $this->add(self::DROPDOWN, 'brand', ['required' => true, 'label' => 'Select Your Brand', 'placeHolder' => 'Select Brand', 'choices' => ['Brand A' => 1, 'Brand B' => 2, 'Brand C' => 3]]);
        $this->add(self::FILE, 'file_path', ['path' => 'myFolder', 'required' => true, 'label' => 'Upload your File']);
        return $this;
    }
}
```

- In the above code, The 'name', 'description', 'is\_active' should same name as data base table column names
- Product Table

namedescriptionis\_activeis\_new\_arrivalStep 2 - Create Controller
--------------------------

[](#step-2---create-controller)

Create a controller in app\\Http\\Controllers\\ProductController.php

```
process($entity);
    }

    public function store(Request $request)
    {
        $entity = new Product();
        return $this->process($entity);
    }

    public function edit(Product $product)
    {
        return $this->process($product);
    }
    public function update(Request $request, Product $product)
    {
        return $this->process($product);
    }

     /**
     *  This common function handles all the actions
     *
     * @param  Product Model $entity
     * @return \Illuminate\Http\Response
     */
    public function process(Product $entity)
    {     /**
         * @param  Product Model $entity
         * @param  ProductForm::class
         * @param  Form blade name  'product'
         */
        return FormBuilder::createFormSimpleBuilder($entity, ProductForm::class, 'product');
    }
}
```

Step 3 - Create Form Blade
--------------------------

[](#step-3---create-form-blade)

Create a blade in \\resources\\views\\product.blade.php

```

                    {{ $form->text('name') }}

                    {{ $form->textArea('description') }}

                    {{ $form->radio('is_active') }}

                    {{ $form->checkBox('is_new_arrival') }}

                    {{ $form->checkBox('is_best_seller') }}

                    {{ $form->checkBox('is_taxable') }}

                    {{ $form->dropDown('brand') }}

                    {{ $form->file('file_path') }}

                 $row->id]) }}">Edit

                    @endforeach

                Add

```

Step 5 - Create Route
---------------------

[](#step-5---create-route)

Create a route in routes\\web.php

```
Route::resource('products', ProductController::class);
```

Run the following command to access the uploaded file from the local

```
        php artisan storage:link
```

Badges
------

[](#badges)

[![MIT License](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667)](https://choosealicense.com/licenses/mit/)

Authors
-------

[](#authors)

- [@Suresh M A](https://github.com/masuresh124)

Features
--------

[](#features)

- Relation form saving
- Sub Form saving
- Validations
- Event handlers

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 52.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~9 days

Recently: every ~0 days

Total

8

Last Release

821d ago

Major Versions

1.1.0 → v2.0.02024-02-07

### Community

Maintainers

![](https://www.gravatar.com/avatar/21d9c27908dc70916b8445423695a57fcf58a8293d95f9e485833a990dc8f671?d=identicon)[masuresh124](/maintainers/masuresh124)

---

Top Contributors

[![masuresh124](https://avatars.githubusercontent.com/u/153027904?v=4)](https://github.com/masuresh124 "masuresh124 (10 commits)")[![sureshaigs](https://avatars.githubusercontent.com/u/176040993?v=4)](https://github.com/sureshaigs "sureshaigs (9 commits)")

### Embed Badge

![Health badge](/badges/masuresh124-simple-crud-builder/health.svg)

```
[![Health](https://phpackages.com/badges/masuresh124-simple-crud-builder/health.svg)](https://phpackages.com/packages/masuresh124-simple-crud-builder)
```

###  Alternatives

[anourvalar/eloquent-serialize

Laravel Query Builder (Eloquent) serialization

11320.2M21](/packages/anourvalar-eloquent-serialize)[overtrue/laravel-versionable

Make Laravel model versionable.

585308.0k5](/packages/overtrue-laravel-versionable)[abbasudo/laravel-purity

elegant way to add filter and sort in laravel

514330.5k1](/packages/abbasudo-laravel-purity)[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135192.6k5](/packages/statamic-rad-pack-runway)[tpetry/laravel-mysql-explain

Get Visual MySQL EXPLAIN for Laravel.

264154.2k](/packages/tpetry-laravel-mysql-explain)[dragon-code/laravel-deploy-operations

Performing any actions during the deployment process

240173.5k2](/packages/dragon-code-laravel-deploy-operations)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
