Commit 01d8e55b authored by zYne's avatar zYne

fixed reference setting

parent 796c53fc
...@@ -232,7 +232,7 @@ class Doctrine_Collection extends Doctrine_Access implements Countable, Iterator ...@@ -232,7 +232,7 @@ class Doctrine_Collection extends Doctrine_Access implements Countable, Iterator
$value = $record->get($relation->getLocal()); $value = $record->get($relation->getLocal());
foreach ($this->getNormalIterator() as $record) { foreach ($this->data as $record) {
if ($value !== null) { if ($value !== null) {
$record->set($this->referenceField, $value, false); $record->set($this->referenceField, $value, false);
} else { } else {
...@@ -300,7 +300,13 @@ class Doctrine_Collection extends Doctrine_Access implements Countable, Iterator ...@@ -300,7 +300,13 @@ class Doctrine_Collection extends Doctrine_Access implements Countable, Iterator
$record = $this->_table->create(); $record = $this->_table->create();
if (isset($this->referenceField)) { if (isset($this->referenceField)) {
$record->set($this->referenceField, $this->reference, false); $value = $this->reference->get($this->relation->getLocal());
if ($value !== null) {
$record->set($this->referenceField, $value, false);
} else {
$record->set($this->referenceField, $this->reference, false);
}
} }
$this->data[] = $record; $this->data[] = $record;
...@@ -370,7 +376,13 @@ class Doctrine_Collection extends Doctrine_Access implements Countable, Iterator ...@@ -370,7 +376,13 @@ class Doctrine_Collection extends Doctrine_Access implements Countable, Iterator
public function add(Doctrine_Record $record, $key = null) public function add(Doctrine_Record $record, $key = null)
{ {
if (isset($this->referenceField)) { if (isset($this->referenceField)) {
$record->set($this->referenceField, $this->reference, false); $value = $this->reference->get($this->relation->getLocal());
if ($value !== null) {
$record->set($this->referenceField, $value, false);
} else {
$record->set($this->referenceField, $this->reference, false);
}
} }
/** /**
* for some weird reason in_array cannot be used here (php bug ?) * for some weird reason in_array cannot be used here (php bug ?)
......
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