src/Models/BaseBitrixModel.php
public function getRelation($name, $throwException = true)
    {
        $getter = $name;
        try {
            $relation = $this->$getter();
        } catch (\BadMethodCallException $e) {
            if ($throwException) {
                throw new \InvalidArgumentException(get_class($this) . ' has no relation named "' . $name . '".', 0, $e);
            }

            return null;
        }

        if (!$relation instanceof BaseQuery) {
            if ($throwException) {
                throw new \InvalidArgumentException(get_class($this) . ' has no relation named "' . $name . '".');
            }

            return null;
        }

        return $relation;
    }
public function getRelation($name, $throwException = true)
    {
        $getter = $name;
        try {
            $relation = $this->$getter();
        } catch (\BadMethodCallException $e) {
            if ($throwException) {
                throw new \InvalidArgumentException(get_class($this) . ' has no relation named "' . $name . '".', 0, $e);
            }

            return null;
        }

        if (!$relation instanceof BaseQuery) {
            if ($throwException) {
                throw new \InvalidArgumentException(get_class($this) . ' has no relation named "' . $name . '".');
            }

            return null;
        }

        return $relation;
    }
Получить запрос для релейшена по имени
@param string $name - название релейшена, например `orders` для релейшена, определенного через метод getOrders()
@param bool $throwException - кидать ли исключение в случае ошибки
@return BaseQuery - запрос для подгрузки релейшена
@throws \InvalidArgumentException