1
0
mirror of synced 2024-12-14 07:06:04 +03:00

rolling back r587, reopening #146 - this breaks creating new objects.

This commit is contained in:
pookey 2006-11-06 14:28:09 +00:00
parent d466830722
commit 1d5bdee6c9
2 changed files with 18 additions and 3 deletions

View File

@ -126,13 +126,14 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite
* open connections
* @throws Doctrine_Record_Exception if the cleanData operation fails somehow
*/
public function __construct($table = null, $isNewEntry = false) {
public function __construct($table = null) {
if(isset($table) && $table instanceof Doctrine_Table) {
$this->_table = $table;
$exists = ( ! $this->_table->isNewEntry());
} else {
$this->_table = Doctrine_Manager::getInstance()->getCurrentConnection()->getTable(get_class($this));
$exists = false;
}
$exists = !$isNewEntry;
// Check if the current connection has the records table in its registry
// If not this record is only used for creating table definition and setting up

View File

@ -31,6 +31,10 @@
* @version 1.0 alpha
*/
class Doctrine_Table extends Doctrine_Configurable implements Countable {
/**
* @var boolean $isNewEntry whether ot not this table created a new record or not, used only internally
*/
private $isNewEntry = false;
/**
* @var array $data temporary data which is then loaded into Doctrine_Record::$data
*/
@ -757,7 +761,9 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable {
*/
public function create(array $array = array()) {
$this->data = $array;
$record = new $this->options['name']($this, true);
$this->isNewEntry = true;
$record = new $this->options['name']($this);
$this->isNewEntry = false;
$this->data = array();
return $record;
}
@ -1102,6 +1108,14 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable {
$data = $stmt->fetch(PDO::FETCH_NUM);
return isset($data[0])?$data[0]:1;
}
/**
* return whether or not a newly created object is new or not
*
* @return boolean
*/
final public function isNewEntry() {
return $this->isNewEntry;
}
/**
* returns simple cached query
*