public function create($data) { $sellerID = $this->sellerInfo->getId(); $ticketData = ['ticketTerms' => (array) $data->terms->{$sellerID}, 'totalDuration' => $data->total_duration, 'segmentDurations' => $data->segment_durations, 'stopsAirports' => $data->stops_airports, 'maxStops' => $data->max_stops, 'minStopDuration' => $data->min_stop_duration, 'maxStopDuration' => $data->max_stop_duration, 'isDirect' => $data->is_direct, 'carriers' => (array) $data->carriers, 'segments' => []]; $segmentsAirports = (array) $data->segments_airports; $ticketData['segmentsAirports'] = (array) $segmentsAirports[0]; $segmentsTime = (array) $data->segments_time; $ticketData['segmentsTime'] = (array) $segmentsTime[0]; $segments = (array) $data->segment[0]->flight; foreach ($segments as $segment) { $ticketData['segments'][] = (array) $segment; } $ticket = new Ticket($ticketData); return $ticket; }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param Info $value A Info object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(Info $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } // if key === null self::$instances[$key] = $obj; } }
/** * Creates a form to delete a Info entity. * * @param Info $info The Info entity * * @return \Symfony\Component\Form\Form The form */ private function createDeleteForm(Info $info) { return $this->createFormBuilder()->setAction($this->generateUrl('info_delete', array('id' => $info->getId())))->setMethod('DELETE')->getForm(); }