whereId($id)->get(); }else{ $nodes = Node::whereStatus(1)->get(); } $result = 0; foreach($nodes as $node){ $data = getIPInfo($node->is_ddns? gethostbyname($node->server) : $node->ip); if($data){ if(Node::whereId($node->id)->update(['geo' => $data['latitude'].','.$data['longitude']])){ $result++; } } } return $result; } // 生成节点标签 public function makeLabels($nodeId, $labels): void { // 先删除所有该节点的标签 NodeLabel::whereNodeId($nodeId)->delete(); if(!empty($labels) && is_array($labels)){ foreach($labels as $label){ $nodeLabel = new NodeLabel(); $nodeLabel->node_id = $nodeId; $nodeLabel->label_id = $label; $nodeLabel->save(); } } } }