database(); if (! $service) { return; } /** @var Database $handler */ $handler = $service->handler(); $this->updateUsers($server, $handler); } private function updateUsers(Server $server, Database $handler): void { $users = $handler->getUsers(); foreach ($users as $user) { $databases = $user[2] != 'NULL' ? explode(',', $user[2]) : []; /** @var ?DatabaseUser $databaseUser */ $databaseUser = $server->databaseUsers() ->where('username', $user[0]) ->first(); if ($databaseUser === null) { $server->databaseUsers()->create([ 'username' => $user[0], 'host' => $user[1], 'databases' => $databases, 'status' => DatabaseUserStatus::READY, ]); continue; } $databaseUser->databases = $databases; $databaseUser->save(); } } }