Extends
lithium\util\Collection
Applies a callback to a copy of all data in the collection
and returns the result.
Overriden to load any data that has not yet been loaded.
Parameters
- callback $filter The filter to apply.
- array $options The available options are: - `'collect'`: If `true`, the results will be returned wrapped in a new `Collection` object or subclass.
Returns
object The filtered data.Source
public function map($filter, array $options = array()) {
$defaults = array('collect' => true);
$options += $defaults;
if (!$this->closed()) {
while ($this->next()) {}
}
$data = parent::map($filter, $options);
if ($options['collect']) {
foreach (array('_model', '_schema', '_pathKey') as $key) {
$data->{$key} = $this->{$key};
}
}
return $data;
}