public function saveToOrderDb() { if ($this->flightVoyage) { $order = $this->flightVoyage->saveToOrderDb($this->groupId); $order->searchParams = serialize($this->searchParams); return $order->update(array('searchParams')); } else { //we have only search params now $order = new OrderFlightVoyage(); $order->groupId = $this->groupId; $order->departureCity = $this->departureCity; $order->arrivalCity = $this->arrivalCity; $order->departureDate = $this->departureDate; $order->searchParams = serialize($this->searchParams); if ($order->save()) { return $order; } } return false; }
public function saveToOrderDb($groupId = null) { $key = $this->getId(); $order = OrderFlightVoyage::model()->findByAttributes(array('key' => $key)); if ($order && sizeof($this->flights) == 1) { //we try to save same flight $order->reference->delete(); $order->delete(); $order = false; } if (!$order) { $order = new OrderFlightVoyage(); $order->key = $key; $order->groupId = $groupId; $order->departureCity = $this->getDepartureCity(0)->id; $order->arrivalCity = $this->getArrivalCity(0)->id; $order->departureDate = $this->getDepartureDate(0); $order->object = serialize($this); } else { $order = new OrderFlightVoyage(); $order->key = $key; $order->groupId = $groupId; $order->departureCity = $this->getDepartureCity(1)->id; $order->arrivalCity = $this->getArrivalCity(1)->id; $order->departureDate = $this->getDepartureDate(1); $order->object = serialize($this); } if ($order->save()) { $this->internalId = $order->id; return $order; } return false; }