diff --git a/packages/Sarga/Admin/src/Database/Migrations/2022_09_03_130148_create_menus_table.php b/packages/Sarga/Admin/src/Database/Migrations/2022_09_03_130148_create_menus_table.php new file mode 100644 index 000000000..89b7ac905 --- /dev/null +++ b/packages/Sarga/Admin/src/Database/Migrations/2022_09_03_130148_create_menus_table.php @@ -0,0 +1,60 @@ +increments('id'); + $table->integer('position')->default(0); + $table->boolean('status')->default(0); + $table->timestamps(); + }); + + Schema::create('menu_brands',function (Blueprint $table) { + $table->integer('menu_id')->unsigned(); + $table->integer('brand_id')->unsigned(); + $table->foreign('menu_id')->references('id')->on('menus'); + $table->foreign('brand_id')->references('id')->on('brands'); + }); + + Schema::create('menu_categories',function (Blueprint $table) { + $table->integer('menu_id')->unsigned(); + $table->integer('category_id')->unsigned(); + $table->foreign('menu_id')->references('id')->on('menus'); + $table->foreign('category_id')->references('id')->on('categories'); + }); + + Schema::create('menu_translations',function (Blueprint $table) { + $table->increments('id'); + $table->text('name'); + $table->text('description')->nullable(); + $table->integer('menu_id')->unsigned(); + $table->string('locale'); + $table->unique(['menu_id', 'locale']); + $table->foreign('menu_id')->references('id')->on('menus')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('menu_brands'); + Schema::dropIfExists('menu_categories'); + Schema::dropIfExists('menus_translations'); + Schema::dropIfExists('menus'); + } +} diff --git a/packages/Sarga/Shop/src/Contracts/Menu.php b/packages/Sarga/Shop/src/Contracts/Menu.php new file mode 100644 index 000000000..8b3c504f4 --- /dev/null +++ b/packages/Sarga/Shop/src/Contracts/Menu.php @@ -0,0 +1,8 @@ +belongsToMany(BrandProxy::modelClass(),'menu_brands'); + } + + public function categories():BelongsToMany + { + return $this->belongsToMany(CategoryProxy::modelClass(), 'menu_categories'); + } +} \ No newline at end of file diff --git a/packages/Sarga/Shop/src/Models/MenuProxy.php b/packages/Sarga/Shop/src/Models/MenuProxy.php new file mode 100644 index 000000000..68f0cd682 --- /dev/null +++ b/packages/Sarga/Shop/src/Models/MenuProxy.php @@ -0,0 +1,8 @@ +