1
0
mirror of synced 2025-03-04 20:03:21 +03:00
Ticket: 131
This commit is contained in:
zYne 2006-09-27 21:54:00 +00:00
parent ddf0ceab82
commit 753e9bd4cc
3 changed files with 7 additions and 15 deletions

View File

@ -96,7 +96,7 @@ class Doctrine_Collection extends Doctrine_Access implements Countable, Iterator
* getTable
* returns the table this collection belongs to
*
* @return object Doctrine_Table
* @return Doctrine_Table
*/
public function getTable() {
return $this->table;

View File

@ -417,7 +417,7 @@ abstract class Doctrine_Hydrate extends Doctrine_Access {
if($fk instanceof Doctrine_LocalKey)
$last->set($fk->getLocal(), $record->getIncremented(), false);
$last->initSingleReference($record, $fk);
$last->set($fk->getAlias(), $record);
$prev[$name] = $record;
break;
@ -428,6 +428,8 @@ abstract class Doctrine_Hydrate extends Doctrine_Access {
if( ! $last->hasReference($alias)) {
$prev[$name] = $this->getCollection($name);
$last->initReference($prev[$name], $fk);
//$last->set($fk->getAlias(), $this->getCollection($name));
} else {
// previous entry found from identityMap
$prev[$name] = $last->get($alias);

View File

@ -741,6 +741,8 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite
} catch(Doctrine_Table_Exception $e) {
throw new Doctrine_Record_Exception("Unknown property / related component '$name'.");
}
// one-to-many or one-to-one relation
if($rel instanceof Doctrine_ForeignKey ||
$rel instanceof Doctrine_LocalKey) {
@ -760,7 +762,7 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite
throw new Doctrine_Record_Exception("Couldn't call Doctrine::set(), second argument should be an instance of Doctrine_Record when setting one-to-one references.");
if($rel->getLocal() == $this->table->getIdentifier()) {
$this->references[$name]->set($rel->getForeign(),$this);
$value->set($rel->getForeign(), $this, false);
} else {
$this->set($rel->getLocal(),$value);
}
@ -1151,18 +1153,6 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite
throw new Doctrine_Record_Exception("Unknown reference $name");
}
/**
* initalizes a one-to-one relation
*
* @param Doctrine_Record $record
* @param Doctrine_Relation $connector
* @return void
*/
public function initSingleReference(Doctrine_Record $record, Doctrine_Relation $connector) {
$alias = $connector->getAlias();
$this->references[$alias] = $record;
}
/**
* initalizes a one-to-many / many-to-many relation
*