CI_DB_active_record::set_insert_batch PHP Method

set_insert_batch() public method

The "set_insert_batch" function. Allows key/value pairs to be set for batch inserts
public set_insert_batch ( $key, $value = '', $escape = TRUE ) : object
return object
    function set_insert_batch($key, $value = '', $escape = TRUE)
    {
        $key = $this->_object_to_array_batch($key);
        if (!is_array($key)) {
            $key = array($key => $value);
        }
        $keys = array_keys(current($key));
        sort($keys);
        foreach ($key as $row) {
            if (count(array_diff($keys, array_keys($row))) > 0 or count(array_diff(array_keys($row), $keys)) > 0) {
                // batch function above returns an error on an empty array
                $this->ar_set[] = array();
                return;
            }
            ksort($row);
            // puts $row in the same order as our keys
            if ($escape === FALSE) {
                $this->ar_set[] = '(' . implode(',', $row) . ')';
            } else {
                $clean = array();
                foreach ($row as $value) {
                    $clean[] = $this->escape($value);
                }
                $this->ar_set[] = '(' . implode(',', $clean) . ')';
            }
        }
        foreach ($keys as $k) {
            $this->ar_keys[] = $this->_protect_identifiers($k);
        }
        return $this;
    }