Fixing unnecessary extra calls to 'afterFind' callback of 'hasMany' associated models. Closes #995

This commit is contained in:
ADmad 2010-09-05 23:52:45 +05:30
parent 82fffe6914
commit bfaaa6b8ba

View file

@ -54,7 +54,7 @@ class DboSource extends DataSource {
/**
* Caches result from query parsing operations. Cached results for both DboSource::name() and
* DboSource::conditions() will be stored here. Method caching uses `crc32()` which is
* DboSource::conditions() will be stored here. Method caching uses `crc32()` which is
* fast but can collisions more easily than other hashing algorithms. If you have problems
* with collisions, set DboSource::$cacheMethods to false.
*
@ -519,7 +519,7 @@ class DboSource extends DataSource {
* because the method uses a simple hashing algorithm it can infrequently have collisions.
* Setting DboSource::$cacheMethods to false will disable the memory cache.
*
* @param mixed $data Either a string with a column to quote. An array of columns to quote or an
* @param mixed $data Either a string with a column to quote. An array of columns to quote or an
* object from DboSource::expression() or DboSource::identifier()
* @return string SQL field
* @access public
@ -845,6 +845,10 @@ class DboSource extends DataSource {
$stack = array($assoc);
$db->queryAssociation($model, $linkModel, $type, $assoc, $assocData, $array, true, $resultSet, $model->recursive - 1, $stack);
unset($db);
if ($type === 'hasMany') {
$filtered []= $assoc;
}
}
}
}