shibuyakosuke / laravel-adminlte-crud-generator
This package is abandoned and no longer maintained.
No replacement package was suggested.
Laravel CRUD generator for laravel-adminlte
dev-master
2019-11-29 10:14 UTC
Requires
- doctrine/dbal: ^2.9
- jeroennoten/laravel-adminlte: ^1.0|^2.0
- laravel/framework: 5.5.*|5.6.*|5.7.*|5.8.*|^6.0
- laravelcollective/html: 5.5.*|5.6.*|5.7.*|5.8.*|^6.0
- watson/bootstrap-form: ^1.3
This package is auto-updated.
Last update: 2020-08-29 12:06:59 UTC
README
Crud generator for laravel-adminlte
Feature
- Generate lang files from Column Comment on MySQL Database.
- Generate blade view files from tables and columns.
- Generate Model files from tables and columns.
- All models except user.
- Generate Controller files from tables and columns.
- Generate FormRequest files from tables and columns.
- Generate ViewComposer files from tables and columns.
- Add routing to routes/web.php
Install & Setup
Install laravel
composer create-project --prefer-dist laravel/laravel project_name "6.*"
Install laravel-adminlte-crud-generator
composer require shibuyakosuke/laravel-adminlte-crud-generator
Setup laravel
If you use Japanese, edit app/config/app.php
/** * app/config/app.php */ - 'locale' => 'en', + 'locale' => 'ja',
/** * app/config/app.php */ 'providers' => [ + Collective\Html\HtmlServiceProvider::class, // add + Watson\BootstrapForm\BootstrapFormServiceProvider::class, // add + Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, // add ],
/** * app/config/app.php */ 'aliases' => [ + 'Form' => Collective\Html\FormFacade::class, // add + 'Html' => Collective\Html\HtmlFacade::class, // add + 'BootForm' => Watson\BootstrapForm\Facades\BootstrapForm::class, // add ],
Setup laravel-adminlte
php artisan adminlte:install
see more information
Setup laravel-adminlte-crud
php artisan vendor:publish --provider="Shibuyakosuke\LaravelCrudGenerator\Providers\ResourceServiceProvider"
Output these files below.
- /configs/adminlte_crud.php
- /app/Observers/*
- /app/Traits/*
Edit files
Add '(new AdminlteMenu($events))->build();' to 'AppServiceProvider::boot()', and it displays adminlte sidebar menu.
<?php /** * app/Providers/AppServiceProvider */ namespace App\Providers; use Illuminate\Events\Dispatcher; use Illuminate\Support\ServiceProvider; use Shibuyakosuke\LaravelCrudGenerator\AdminlteMenu\AdminlteMenu; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot(Dispatcher $events) { (new AdminlteMenu($events))->build(); // Add for menu of laravel-adminlte } }
Display Breadcrumbs
/** * resources/views/vendor/adminlte/page.blade.php */ <section class="content-header"> @yield('content_header') {{ Breadcrumbs::render(Request::route()->getName(), Request::route()->parameters()) }} // Add </section>
Configs
/configs/adminlte_crud.php
<?php return [ 'default_model_path' => 'app/Models/', // Output models to this path. 'textarea' => 500, // If the max length is above this value, output textarea otherwise input element. 'required_label' => '*', // If the field is not allowed null, output form element with this text. 'required_label_position' => 'after' // or before ];
Usage
Run migration
Generate crud files, if you have migration files with comment like belows.
Notes
Foreign keys setting helps generating relations for models.
class CreateUsersTable extends Migration { use \App\Traits\DatabaseCommonColumns; // add /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function (Blueprint $table) { $table->bigIncrements('id')->comment('ID'); $table->unsignedBigInteger('role_id')->comment('ロールID'); $table->unsignedBigInteger('company_id')->comment('会社ID'); $table->string('name')->comment('氏名'); $table->string('email')->unique()->comment('メールアドレス'); $table->timestamp('email_verified_at')->nullable()->comment('メール認証日時'); $table->string('password')->comment('パスワード'); $table->rememberToken()->comment('リメンバートークン'); $this->addCommonColumns($table); // add // foreign keys setting helps generating relations for models. $table->foreign('role_id')->references('id')->on('roles'); $table->foreign('company_id')->references('id')->on('companies'); }); $this->comment('users', 'ユーザー'); // add table comment } }
php artisan migrate
Generate crud
php artisan crud:generate
and then you should append this sentence to 'configs/app.php'.
/* * Package Service Providers... */ \App\Providers\ViewServiceProvider::class,
Options
Overwrite files
php artisan crud:generate --force
Specify table name
Separate multiple tables with commas
php artisan crud:generate --table=users,companies
Output files
project ┌ app ┬ Http ┬ Controllers ─ ExampleController.php │ │ │ │ │ ├ Requests ─ ExampleFormRequest.php │ │ │ │ │ └ View ─ Composers ─ ExampleComposer.php │ │ │ └ (Models) ─ Example.php │ └ resources ┬ lang ── (ja) ─┬ tables.php │ └ columns.php │ └ views ─ examples ┬ index.blade.php ├ show.blade.php ├ create.blade.php └ edit.blade.php
And append to route/web.php
automatically.
Route::resource('/users', 'UserController');