public function column($field) {
		if (!isset($field['type'])) {
			$field['type'] = 'string';
		}
		if (!isset($field['name'])) {
			throw new InvalidArgumentException("Column name not defined.");
		}
		if (!isset($this->_columns[$field['type']])) {
			throw new UnexpectedValueException("Column type `{$field['type']}` does not exist.");
		}

		$field += $this->_columns[$field['type']] + [
			'name' => null,
			'type' => null,
			'length' => null,
			'precision' => null,
			'default' => null,
			'null' => null
		];

		$isNumeric = preg_match('/^(integer|float|boolean)$/', $field['type']);
		if ($isNumeric && $field['default'] === '') {
			$field['default'] = null;
		}
		$field['use'] = strtolower($field['use']);
		return $this->_buildColumn($field);
	}
public function column($field) {
		if (!isset($field['type'])) {
			$field['type'] = 'string';
		}
		if (!isset($field['name'])) {
			throw new InvalidArgumentException("Column name not defined.");
		}
		if (!isset($this->_columns[$field['type']])) {
			throw new UnexpectedValueException("Column type `{$field['type']}` does not exist.");
		}

		$field += $this->_columns[$field['type']] + [
			'name' => null,
			'type' => null,
			'length' => null,
			'precision' => null,
			'default' => null,
			'null' => null
		];

		$isNumeric = preg_match('/^(integer|float|boolean)$/', $field['type']);
		if ($isNumeric && $field['default'] === '') {
			$field['default'] = null;
		}
		$field['use'] = strtolower($field['use']);
		return $this->_buildColumn($field);
	}
public function column ( $ field ) { if ( ! isset ( $ field [ 'type' ] ) ) { $ field [ 'type' ] = 'string' ; } if ( ! isset ( $ field [ 'name' ] ) ) { throw new InvalidArgumentException ( "Column name not defined." ) ; } if ( ! isset ( $ this -> _columns [ $ field [ 'type' ] ] ) ) { throw new UnexpectedValueException ( "Column type `{$field['type']}` does not exist." ) ; } $ field += $ this -> _columns [ $ field [ 'type' ] ] + [ 'name' => null , 'type' => null , 'length' => null , 'precision' => null , 'default' => null , 'null' => null ] ; $ isNumeric = preg_match ( '/^(integer|float|boolean)$/' , $ field [ 'type' ] ) ; if ( $ isNumeric && $ field [ 'default' ] === '' ) { $ field [ 'default' ] = null ; } $ field [ 'use' ] = strtolower ( $ field [ 'use' ] ) ; return $ this -> _buildColumn ( $ field ) ; }
Generate a database-native column schema string

@param array $column A field array structured like the following:
`array('name' => 'value', 'type' => 'value' [, options])`, where options can
be `'default'`, `'null'`, `'length'` or `'precision'`.
@return string SQL string
Generate a database - native column schema string