public function join(
        $table, $on, $fields = ['*'], $alias = null, $type = Join::JOIN_LEFT)
    {
        $join = new Join($table, $on, $fields, $type);
        if (!is_null($alias)) {
            $join->setAlias($alias);
        }
        $this->_joins[] = $join;
        return $this;
    }