laravel-admin でページを追加する基本手順

laravel-admin で管理ページを追加するための手順です。今回は、本を扱うBookデータ構造を追加します。artisan の make:model コマンドにマイグレーションのオプションをつけて実行します。

php artisan make:model Book --migration

マイグレーションファイルを適当に編集して書籍が持っていそうなプロパティを追加しましょう。

return new class extends Migration
{
    /**
    * Run the migrations.
    */
    public function up(): void
    {
        Schema::create('books', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->string('author');
            $table->string('isbn');
            $table->integer('price');
            $table->timestamps();
        });
    }
    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::dropIfExists('books');
    }
    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::dropIfExists('books');
    }
};

マイグレーションを適用します

php artisan migrate

さらに laravel-admin 用にルーティングとコントローラーを設定します。

php artisan admin:make BookController --model=App\\Models\\Book

実行結果で親切にも $router->resource(‘books’, BookController::class); をapp/Admin/routes.php に追加しろ、と教えてくれているのでその通り対応します。これで http://localhost/admin/books で管理画面が表示できるようになりました。

せっかくなのでメニューにも追加しましょう。メニューテーブルの seeder を書いても良いのですが、せっかくデフォルトのままlaravel-adminを使っているので、最初から搭載されてるメニューのマスメン機能を使ってページを追加しましょう。

Bookデータの管理画面に遷移するためのメニューが追加されました