'name:json_string', 'Description' => 'description:json_string', 'Code' => 'code:json_string', ); /** * @param null $expand * @param array $fields * @param array $relations * @param array $params * @return array */ public function serialize($expand = null, array $fields = array(), array $relations = array(), array $params = array() ) { $category = $this->object; $values = parent::serialize($expand, $fields, $relations, $params); $groups = array(); foreach($category->getGroups() as $group){ $groups[] = intval($group->getId()); } $values['track_groups'] = $groups; if (!empty($expand)) { $exp_expand = explode(',', $expand); foreach ($exp_expand as $relation) { switch (trim($relation)) { case 'track_groups': { $groups = array(); unset($values['track_groups']); foreach ($category->getGroups() as $g) { $groups[] = SerializerRegistry::getInstance()->getSerializer($g)->serialize(null, [], ['none']); } $values['track_groups'] = $groups; } break; } } } return $values; } }