function via($key) { if (!$this->parent_) { throw new \LogicException('Cannot set reference key on basic Result'); } $clone = clone $this; if ($clone->single) { $clone->parentKey = $key; } else { $clone->key = $key; } return $clone; }