shibuyakosuke / laravel-adminlte-crud-generator
此包已 废弃 并不再维护。未建议替代包。
laravel-adminlte 的 Laravel CRUD 生成器
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
laravel-adminlte 的 CRUD 生成器 laravel-adminlte
特性
- 从 MySQL 数据库的列注释生成 语言文件。
- 从表和列生成 Blade 视图文件。
- 从表和列生成 模型文件。
- 除了用户以外的所有模型。
- 从表和列生成 控制器文件。
- 从表和列生成 表单请求文件。
- 从表和列生成 视图组合文件。
- 添加路由到 routes/web.php
安装 & 设置
安装 Laravel
composer create-project --prefer-dist laravel/laravel project_name "6.*"
安装 laravel-adminlte-crud-generator
composer require shibuyakosuke/laravel-adminlte-crud-generator
设置 Laravel
如果您使用日语,请编辑 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 ],
设置 laravel-adminlte
php artisan adminlte:install
设置 laravel-adminlte-crud
php artisan vendor:publish --provider="Shibuyakosuke\LaravelCrudGenerator\Providers\ResourceServiceProvider"
输出以下文件。
- /configs/adminlte_crud.php
- /app/Observers/*
- /app/Traits/*
编辑文件
将 '(new AdminlteMenu($events))->build();' 添加到 'AppServiceProvider::boot()', 以显示 adminlte 侧边栏菜单。
<?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 } }
显示面包屑
/** * 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/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 ];
用法
运行迁移
如果您有如下注释的迁移文件,则生成 CRUD 文件。
注意
外键设置有助于为模型生成 关系。
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
生成 CRUD
php artisan crud:generate
然后您应该将此行添加到 'configs/app.php'。
/* * Package Service Providers... */ \App\Providers\ViewServiceProvider::class,
选项
覆盖文件
php artisan crud:generate --force
指定表名
使用逗号分隔多个表
php artisan crud:generate --table=users,companies
输出文件
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
并自动附加到 route/web.php
。
Route::resource('/users', 'UserController');