filter_data['segmentType'] = 'userRole'; $this->filter_data['wordpressRole'] = $role; return $this; } /** @return DynamicSegmentModel */ public function create() { $segment = DynamicSegmentModel::createOrUpdate($this->data); if (!empty($this->filter_data['segmentType'])) { $segment = $this->createFilter($segment, $this->filter_data); } return $segment; } private function createFilter(DynamicSegmentModel $segment, array $filter_data) { $data = array_merge($segment->asArray(), $filter_data); $mapper = new FormDataMapper(); $saver = new Saver(); $dynamic_segment = $mapper->mapDataToDB($data); $saver->save($dynamic_segment); return $dynamic_segment; } }