'rate:json_int', 'Note' => 'note:json_string', 'Created' => 'created_date:datetime_epoch', 'EventId' => 'event_id:json_int', ); /** * @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()) { $feedback = $this->object; $values = parent::serialize($expand, $fields, $relations, $params); $event = $feedback->getEvent(); $member = $feedback->hasOwner() ? $feedback->getOwner() : null; if (is_null($member)) return $values; $summit = $event->getSummit(); $attendee = $summit->getAttendeeByMemberId($member->getId()); if (!empty($expand)) { foreach (explode(',', $expand) as $relation) { switch (trim($relation)) { case 'owner': { $owner = array ( 'id' => intval($member->getId()), 'first_name' => JsonUtils::toJsonString($member->getFirstName()), 'last_name' => JsonUtils::toJsonString($member->getLastName()) ); if (!is_null($attendee)) $owner['attendee_id'] = intval($attendee->getId()); $values['owner'] = $owner; } break; } } } if(!isset($values['owner'])) { $values['member_id'] = intval($member->getId()); if (!is_null($attendee)) $values['attendee_id'] = intval($attendee->getId()); } return $values; } }