2017 © Pedro Peláez
 

library crud

Laravel 5 CRUD Generator

image

d4nd3v/crud

Laravel 5 CRUD Generator

  • Monday, December 4, 2017
  • by d4nd3v
  • Repository
  • 0 Watchers
  • 0 Stars
  • 137 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 1 % Grown

The README.md

Laravel 5.3 CRUD Generator

Usage

Step 1: Install Through Composer

composer require d4nd3v/crud:dev-master

Step 2: Add the Service Provider

Add the provider in app/Providers/AppServiceProvider.php, (*1)

public function register()
{
    ...
    if ($this->app->environment() !== 'production') {
        $this->app->register('D4nd3v\Crud\CrudServiceProvider');
    }
}

Step 3: Run Artisan!

Run php artisan generate:crud TABLE_NAME from the console., (*2)

Options Description
--overwrite=false overwrite existing files
--crud=CRUD C(reate) R(read) U(pdate) D(elete)
--model_only=false only generates model file
--parent_of=TABLE1,TABLE2,TABLE3 add links & "belongs to" in model
--child_of=TABLE4,TABLE5,TABLE6 generates links to parent
--many_with=TABLE1,TABLE2 many to many relation
--upload=field1,field2 transformed to file upload fields

Options examples

--crud=RD => all actions without C-reate and U-pdate
--many_with adds:
  • in model: ...$this->belongsToMany...
  • in controller: ...->sync(request()->input(....
  • in index view: ...list from MNY_TBL...
  • in create and edit view: ...js select2 MNY_TBL...

Notes

If you need pagination don't forget to run:
php artisan vendor:publish --tag=laravel-pagination, (*3)

The generated files are: - app/Http/Controllers/Crud/[Resource]Controller.php - app/Models/[Resource].php - resources/views/[Resource]/create.blade.php - resources/views/[Resource]/edit.blade.php - resources/views/[Resource]/index.blade.php - resources/views/[Resource]/view.blade.php - + added route resource in routes/web.php, (*4)

For User Roles (or any other filter)

in ```UsersController.php````, (*5)

    $orderBy = $request->input('by', 'id');
    ....
        $roles = array();
        if (class_exists(Role::class)) {
            $roles = Role::get();
        }
        if(!empty(request()->input('role'))) {
            $items = User::role(request()->input('role'))->orderBy($orderBy, $order)->paginate(20);
        } else {
            $items = User::orderBy($orderBy, $order)->paginate(20);
        }

        return view('users.index')
            ->withItems($items)
            ->withPage($request->input('page', 1))
            ->withOrder($order)
            ->withOrderBy($orderBy)
            ->withRoles($roles);

in index.blade.php, (*6)

    @section('content')
    .....
    @if($roles)
        <a href="?role=">all</a>
        @foreach($roles as $role)
            &nbsp; <a href="?role={{ $role->name }}"
                      @if(request()->input('role')==$role->name) class="active" @endif
            >{{ $role->name }}</a>
        @endforeach
        <hr>
    @endif

The Versions

04/12 2017

dev-master

9999999-dev

Laravel 5 CRUD Generator

  Sources   Download

MIT

The Requires