mapper = $mapper; } /** * @return DynamicSegment[] */ public function load() { $segments = DynamicSegment::findAll(); return $this->loadFilters($segments); } private function loadFilters(array $segments) { $ids = array_map(function($segment) { return $segment->id; }, $segments); $filters = DynamicSegmentFilter::getAllBySegmentIds($ids); return $this->mapper->mapSegments($segments, $filters); } }