lithium\data\Collection::map()

public method

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 = []) {
		$defaults = ['collect' => true];
		$options += $defaults;

		$this->offsetGet(null);
		$data = parent::map($filter, $options);

		if ($options['collect']) {
			foreach (['_model', '_schema', '_pathKey'] as $key) {
				$data->{$key} = $this->{$key};
			}
		}
		return $data;
	}