public function viaTable($tableName, $link, callable $callable = null)
    {
        $modelClass = $this->primaryModel !== null ? get_class($this->primaryModel) : __CLASS__;

        $relation = new self(
            $modelClass, [
            'from' => [$tableName],
            'link' => $link,
            'multiple' => true,
            'asArray' => true,
            ]
        );
        $this->via = $relation;
        if ($callable !== null) {
            call_user_func($callable, $relation);
        }

        return $this;
    }