Commit 37e6248b authored by zYne's avatar zYne

--no commit message

--no commit message
parent f6c1560e
...@@ -1441,7 +1441,7 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count ...@@ -1441,7 +1441,7 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count
* @param array $ids the identifiers of the related records * @param array $ids the identifiers of the related records
* @return Doctrine_Record this object * @return Doctrine_Record this object
*/ */
public function removeLinks($alias, $ids) public function unlink($alias, $ids)
{ {
$ids = (array) $ids; $ids = (array) $ids;
...@@ -1452,17 +1452,18 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count ...@@ -1452,17 +1452,18 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count
if ($rel instanceof Doctrine_Relation_Association) { if ($rel instanceof Doctrine_Relation_Association) {
$q->delete() $q->delete()
->from($rel->getAssociationTable()->getComponentName()) ->from($rel->getAssociationTable()->getComponentName())
->where($rel->getLocal() . ' = ?', $this->identifier()) ->where($rel->getLocal() . ' = ?', array_values($this->identifier()))
->whereIn($rel->getForeign(), $ids) ->whereIn($rel->getForeign(), $ids);
->execute();
if (isset($this->references[$alias])) { $q->execute();
foreach ($this->references[$alias] as $k => $record) {
if (in_array($record->identifier(), $ids)) { if (isset($this->_references[$alias])) {
$this->references[$alias]->remove($k); foreach ($this->_references[$alias] as $k => $record) {
if (in_array(current($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