/** * Returns an array of servers NOT assigned to a cluster * * @param * * @return array */ public function getAvailableServers() { $_assigned = []; $_rows = Server::get(['id', 'server_type_id', 'server_id_text']); $_response = ['web' => [], 'app' => [], 'db' => []]; foreach (ClusterServer::get(['server_id']) as $_row) { $_assigned[] = $_row->server_id; } foreach ($_rows as $_row) { if (!in_array($_row->id, $_assigned)) { $_response[strtolower(ServerTypes::nameOf($_row->server_type_id, false))][] = ['id' => $_row->id, 'name' => $_row->server_id_text]; } } return $_response; }