😅Create database using json file,Tạo database menu file json permission, role (ok)

https://spatie.be/docs/menu/v3/introduction

Link: https://github.com/ndrto/laravel-romen

C:\xampp82\htdocs\lva1\database\migrations\2023_09_16_031931_create_menus_table.php

<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
  /**
   * Run the migrations.
   *
   * @return void
   */
  public function up()
  {
    Schema::create('menus', function (Blueprint $table) {
      $table->bigIncrements('id');
      $table->unsignedBigInteger('parent')->default(0)->index();
      $table->string('name')->unique();
      $table->string('title');
      $table->string('url')->index();
      $table->string('icon')->nullable();
      $table->string('class_icon')->nullable();
      $table->integer('order')->default(0)->index();
      $table->timestamps();
    });
    Schema::create('menu_role', function (Blueprint $table) {
      // $table->primary(['menu_id', 'role_id']);
      $table->unsignedBigInteger('menu_id');
      $table->unsignedBigInteger('role_id');
      // $table->foreign('menu_id')
      //   ->references('id')
      //   ->on('menus')
      //   ->cascadeOnUpdate()
      //   ->cascadeOnDelete();
      // $table->foreign('role_id')
      //   ->references('id')
      //   ->on('roles')
      //   ->cascadeOnUpdate()
      //   ->cascadeOnDelete();
    });
  }
  /**
   * Reverse the migrations.
   *
   * @return void
   */
  public function down()
  {
    Schema::dropIfExists('menus');
    Schema::dropIfExists('menu_role');
  }
};

C:\xampp82\htdocs\lva1\database\seeders\HasJsonFile.php

C:\xampp82\htdocs\lva1\database\seeders\MenuSeeder.php

C:\xampp82\htdocs\lva1\database\seeders\RoleSeeder.php

C:\xampp82\htdocs\lva1\database\seeders\data\menus.json

C:\xampp82\htdocs\lva1\database\seeders\data\roles.json

1MB
archive
Open

Last updated

Was this helpful?