'Ubuntu', 'thumbnail' => 'ubuntu.png', 'module_host_id' => null, 'status' => 1, 'versions' => [ '20.04 LTS', '22.04 LTS', '24.04 LTS', ], ], [ 'name' => 'CentOS', 'thumbnail' => 'centos.png', 'module_host_id' => null, 'status' => 1, 'versions' => [ '7', '8 Stream', ], ], [ 'name' => 'Debian', 'thumbnail' => 'debian.png', 'module_host_id' => null, 'status' => 1, 'versions' => [ '10', '11', '12', ], ], [ 'name' => 'Windows Server', 'thumbnail' => 'windows.png', 'module_host_id' => null, 'status' => 1, 'versions' => [ '2016', '2019', '2022', ], ], ]; foreach ($data as $groupData) { /** * Create or Update OS Group */ $group = OsGroup::updateOrCreate( ['name' => $groupData['name']], [ 'thumbnail' => $groupData['thumbnail'], 'module_host_id' => $groupData['module_host_id'], 'status' => $groupData['status'], ] ); /** * Create OS versions */ foreach ($groupData['versions'] as $version) { Os::updateOrCreate( [ 'os_group_id' => $group->id, 'version' => $version, ], [ 'template_id' => null, 'status' => 1, ] ); } } } }