Commit 30521a70 authored by zYne's avatar zYne

--no commit message

--no commit message
parent 1b8e9ea0
...@@ -1434,10 +1434,12 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count ...@@ -1434,10 +1434,12 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count
return $this; return $this;
} }
/** /**
* removeLink * removeLinks
* removes links from this record to given records
* *
* @param string $alias * @param string $alias related component alias
* @param array $ids * @param array $ids the identifiers of the related records
* @return Doctrine_Record this object
*/ */
public function removeLinks($alias, $ids) public function removeLinks($alias, $ids)
{ {
...@@ -1447,21 +1449,22 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count ...@@ -1447,21 +1449,22 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count
$rel = $this->getTable()->getRelation($alias); $rel = $this->getTable()->getRelation($alias);
$q->delete() if ($rel instanceof Doctrine_Relation_Association) {
->from($rel->getAssociationTable()->getComponentName()) $q->delete()
->where($rel->getLocal() . ' = ?', $this->identifier()) ->from($rel->getAssociationTable()->getComponentName())
->whereIn($rel->getForeign(), $ids) ->where($rel->getLocal() . ' = ?', $this->identifier())
->execute(); ->whereIn($rel->getForeign(), $ids)
->execute();
if (isset($this->references[$alias])) {
foreach ($this->references[$alias] as $k => $record) { if (isset($this->references[$alias])) {
if (in_array($record->identifier(), $ids)) { foreach ($this->references[$alias] as $k => $record) {
$this->references[$alias]->remove($k); if (in_array($record->identifier(), $ids)) {
$this->references[$alias]->remove($k);
}
} }
$this->references[$alias]->takeSnapshot();
} }
$this->references[$alias]->takeSnapshot();
} }
return $this; return $this;
} }
/** /**
......
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