<?php namespace App\Traits; use App\Models\Zone; trait ParseNodes { /** * Parse a seenby or path list and return node models */ protected function parse_nodes(Zone $zo,string $line,$create=TRUE) { $net = FALSE; $result = collect(); foreach (explode(' ',$line) as $node) { if (preg_match('#/#',$node)) { list($net,$node) = preg_split('#/#',$node); } if (! $net) throw new \Exception('Missing Net?',$node); $result->push($this->get_node(['z'=>$zo->id,'n'=>$net,'f'=>$node,'p'=>0],$create)); } return $result; } }