Commit 1b3e9817 authored by zYne's avatar zYne

--no commit message

--no commit message
parent 33bb25ac
...@@ -79,6 +79,7 @@ class Doctrine_Manager extends Doctrine_Configurable implements Countable, Itera ...@@ -79,6 +79,7 @@ class Doctrine_Manager extends Doctrine_Configurable implements Countable, Itera
Doctrine_Collection::initNullObject($this->null); Doctrine_Collection::initNullObject($this->null);
Doctrine_Record_Iterator::initNullObject($this->null); Doctrine_Record_Iterator::initNullObject($this->null);
Doctrine_Validator::initNullObject($this->null); Doctrine_Validator::initNullObject($this->null);
Doctrine_Record_Filter::initNullOjbect($this->null);
} }
/** /**
* @return Doctrine_Null * @return Doctrine_Null
......
...@@ -55,6 +55,46 @@ class Doctrine_Record_Filter ...@@ -55,6 +55,46 @@ class Doctrine_Record_Filter
{ {
return $this->_record; return $this->_record;
} }
/**
* initNullObject
*
* @param Doctrine_Null $null
* @return void
*/
public static function initNullObject(Doctrine_Null $null)
{
self::$null = $null;
}
/**
* setDefaultValues
* sets the default values for records internal data
*
* @param boolean $overwrite whether or not to overwrite the already set values
* @return boolean
*/
public function assignDefaultValues($data, $overwrite = false)
{
$table = $this->_record->getTable();
if ( ! $table->hasDefaultValues()) {
return false;
}
$modified = array();
foreach ($data as $column => $value) {
$default = $table->getDefaultValueOf($column);
if ($default === null) {
$default = self::$null;
}
if ($value === self::$null || $overwrite) {
$this->_record->rawSet($column, $default);
$modified[] = $column;
$this->_record->state(Doctrine_Record::STATE_TDIRTY);
}
}
$this->_record->setModified($modified);
}
/** /**
* cleanData * cleanData
* this method does several things to records internal data * this method does several things to records internal data
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment