whereHas('services', function (Builder $query) { $query->where('type', 'database'); })->get(); $storageProviders = StorageProvider::all(); /** @var Server $server */ foreach ($servers as $server) { /** @var Database $database */ $database = Database::factory()->create([ 'server_id' => $server->id, 'name' => 'main', ]); DatabaseUser::factory()->create([ 'server_id' => $server->id, 'username' => 'main_user', 'password' => 'password', 'host' => '%', 'databases' => [$database->name], ]); /** @var Backup $backup */ $backup = Backup::factory()->create([ 'server_id' => $server->id, 'database_id' => $database->id, 'storage_id' => $storageProviders->random()->id, ]); BackupFile::factory(10)->create([ 'name' => $database->name.'-'.now()->format('Y-m-d-H-i-s').'.zip', 'size' => rand(1000000, 10000000), 'backup_id' => $backup->id, 'status' => BackupFileStatus::CREATED, ]); } } }