public function set(array $data, array $options = []) {
		$defaults = ['init' => false];
		$options += $defaults;

		$cast = ($schema = $this->schema());

		foreach ($data as $key => $val) {
			unset($this->_increment[$key]);
			if (strpos($key, '.')) {
				$this->_setNested($key, $val);
				continue;
			}
			if ($cast) {
				$pathKey = $this->_pathKey;
				$model = $this->_model;
				$parent = $this;
				$val = $schema->cast($this, $key, $val, compact('pathKey', 'model', 'parent'));
			}
			if ($val instanceof self) {
				$val->_exists = $options['init'] && $this->_exists;
				$val->_pathKey = ($this->_pathKey ? "{$this->_pathKey}." : '') . $key;
				$val->_model = $val->_model ?: $this->_model;
				$val->_schema = $val->_schema ?: $this->_schema;
			}
			$this->_updated[$key] = $val;
		}
	}
public function set(array $data, array $options = []) {
		$defaults = ['init' => false];
		$options += $defaults;

		$cast = ($schema = $this->schema());

		foreach ($data as $key => $val) {
			unset($this->_increment[$key]);
			if (strpos($key, '.')) {
				$this->_setNested($key, $val);
				continue;
			}
			if ($cast) {
				$pathKey = $this->_pathKey;
				$model = $this->_model;
				$parent = $this;
				$val = $schema->cast($this, $key, $val, compact('pathKey', 'model', 'parent'));
			}
			if ($val instanceof self) {
				$val->_exists = $options['init'] && $this->_exists;
				$val->_pathKey = ($this->_pathKey ? "{$this->_pathKey}." : '') . $key;
				$val->_model = $val->_model ?: $this->_model;
				$val->_schema = $val->_schema ?: $this->_schema;
			}
			$this->_updated[$key] = $val;
		}
	}
public function set ( array $ data , array $ options = [ ] ) { $ defaults = [ 'init' => false ] ; $ options += $ defaults ; $ cast = ( $ schema = $ this -> schema ( ) ) ; foreach ( $ data as $ key => $ val ) { unset ( $ this -> _increment [ $ key ] ) ; if ( strpos ( $ key , '.' ) ) { $ this -> _setNested ( $ key , $ val ) ; continue ; } if ( $ cast ) { $ pathKey = $ this -> _pathKey ; $ model = $ this -> _model ; $ parent = $ this ; $ val = $ schema -> cast ( $ this , $ key , $ val , compact ( 'pathKey' , 'model' , 'parent' ) ) ; } if ( $ val instanceof self ) { $ val -> _exists = $ options [ 'init' ] && $ this -> _exists ; $ val -> _pathKey = ( $ this -> _pathKey ? "{$this->_pathKey}." : '' ) . $ key ; $ val -> _model = $ val -> _model ? : $ this -> _model ; $ val -> _schema = $ val -> _schema ? : $ this -> _schema ; } $ this -> _updated [ $ key ] = $ val ; } }
Allows several properties to be assigned at once.

For example:
```
$doc->set(['title' => 'Lorem Ipsum', 'value' => 42]);
```

@param array $data An associative array of fields and values to assign to the `Document`.
@param array $options
@return void
Allows several properties to be assigned at once .