/** * Helper to find an item by either id or identity * * @return Item */ private function findItem($token) { if ($token == (int) $token && is_numeric($token) && $token) { $item = Item::find($token); } elseif (is_string($token) && $token) { $item = Item::findByIdentity($token); } else { throw new \InvalidArgumentException('Invalid item identity requested.'); } return $item; }