Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
gilour
/
foundation
/
src
/
Core
/
Install
:
CreateDefaultMenus.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Common\Core\Install; use Common\Settings\Setting; use Illuminate\Support\Arr; use Illuminate\Support\Str; class CreateDefaultMenus { public function execute(): void { if (Setting::where('name', 'menus')->exists()) { return; } $menus = json_decode( Arr::first( config('common.default-settings'), fn($value) => $value['name'] === 'menus', )['value'], true, ); foreach ($menus as $menuIndex => $menu) { if (!isset($menu['id'])) { $menu[$menuIndex]['id'] = Str::random(6); } foreach ($menu['items'] as $itemIndex => $item) { if (!isset($item['id'])) { $menus[$menuIndex]['items'][$itemIndex]['id'] = Str::random( 6, ); } if (!isset($item['order'])) { $menus[$menuIndex]['items'][$itemIndex][ 'order' ] = $itemIndex; } } } Setting::create([ 'name' => 'menus', 'value' => json_encode($menus), ]); } }