rolling back r587, reopening #146 - this breaks creating new objects.
This commit is contained in:
parent
d466830722
commit
1d5bdee6c9
@ -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
|
||||
|
@ -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
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user