public function insertAndReturn($table, $columns) {
        $params = [];
        $sql = $this->db->getQueryBuilder()->insert($table, $columns, $params);
        $tableSchema = $this->db->getSchema()->getTableSchema($table);
        $returnColumns = $tableSchema->getColumnNames();
        if (!empty($returnColumns)) {
            $returning = [];
            foreach ((array)$returnColumns as $name) {
                $returning[] = $this->db->quoteColumnName($name);
            }
            $sql .= ' RETURNING ' . implode(', ', $returning);
        }

        return $this->setSql($sql)->bindValues($params);
    }