Index: www/dataobject_manager/code/HasManyFileDataObjectManager.php =================================================================== --- www/dataobject_manager/code/HasManyFileDataObjectManager.php (revision 90) +++ www/dataobject_manager/code/HasManyFileDataObjectManager.php (working copy) @@ -58,23 +58,23 @@ function getQuery($limitClause = null) { if($this->customQuery) { - $query = $this->customQuery; + $query = clone $this->customQuery; $query->select[] = "{$this->sourceClass}.ID AS ID"; $query->select[] = "{$this->sourceClass}.ClassName AS ClassName"; $query->select[] = "{$this->sourceClass}.ClassName AS RecordClassName"; } else { - $query = singleton($this->sourceClass)->extendedSQL($this->sourceFilter, $this->sourceSort, $limitClause, $this->sourceJoin); + $query = singleton($this->sourceClass)->extendedSQL($this->sourceFilter(), $this->sourceSort, $limitClause, $this->sourceJoin); // Add more selected fields if they are from joined table. - $SNG = singleton($this->sourceClass); + /*$SNG = singleton($this->sourceClass); foreach($this->FieldList() as $k => $title) { if(! $SNG->hasField($k) && ! $SNG->hasMethod('get' . $k)) $query->select[] = $k; - } + }*/ } - return clone $query; + return $query; } public function setParentClass($class) Index: www/dataobject_manager/code/ManyManyFileDataObjectManager.php =================================================================== --- www/dataobject_manager/code/ManyManyFileDataObjectManager.php (revision 90) +++ www/dataobject_manager/code/ManyManyFileDataObjectManager.php (working copy) @@ -132,21 +132,21 @@ function getQuery($limitClause = null) { if($this->customQuery) { - $query = $this->customQuery; + $query = clone $this->customQuery; $query->select[] = "{$this->sourceClass}.ID AS ID"; $query->select[] = "{$this->sourceClass}.ClassName AS ClassName"; $query->select[] = "{$this->sourceClass}.ClassName AS RecordClassName"; } else { - $query = singleton($this->sourceClass)->extendedSQL($this->sourceFilter, $this->sourceSort, $limitClause, $this->sourceJoin); + $query = singleton($this->sourceClass)->extendedSQL($this->sourceFilter(), $this->sourceSort, $limitClause, $this->sourceJoin); // Add more selected fields if they are from joined table. - $SNG = singleton($this->sourceClass); + /*$SNG = singleton($this->sourceClass); foreach($this->FieldList() as $k => $title) { if(! $SNG->hasField($k) && ! $SNG->hasMethod('get' . $k)) $query->select[] = $k; - } + }*/ $parent = $this->controllerClass(); $mm = $this->manyManyTable; $if_clause = "IF(`$mm`.`{$this->manyManyParentClass}ID` IS NULL, '0', '1')"; @@ -155,7 +155,7 @@ if($this->OnlyRelated()) $query->where[] = $if_clause; } - return clone $query; + return $query; }