/** * @return \yii\db\ActiveQuery */ public function getMarket() { return $this->hasOne(BetssonEventMarket::className(), ['MarketID' => 'MarketID'])->inverseOf('selections'); }
protected function storeMarket($market, $event_id) { if (!isset($market->MarketID)) { return false; } // Load or store events if (!($BetssonEventMarket = BetssonEventMarket::findOne(['MarketID' => intval($market->MarketID), 'LanguageCode' => $market->LanguageCode]))) { $BetssonEventMarket = new BetssonEventMarket(); $BetssonEventMarket->MarketID = intval($market->MarketID); $BetssonEventMarket->LanguageCode = $market->LanguageCode; } $BetssonEventMarket->EventID = $event_id; $BetssonEventMarket->BetGroupUnitID = intval($market->BetGroupUnitID); $BetssonEventMarket->BetGroupUnitName = $market->BetGroupUnitName; $BetssonEventMarket->BetGroupID = intval($market->BetgroupID); $BetssonEventMarket->BetGroupName = $market->BetgroupName; $BetssonEventMarket->BetGroupStyleID = intval($market->BetgroupStyleID); $BetssonEventMarket->BetGroupTypeID = intval($market->BetgroupTypeID); $BetssonEventMarket->IsLive = boolval($market->IsLive); $BetssonEventMarket->MarketDeadline = gmdate("Y-m-d H:i:s", strtotime($market->MarketDeadline)); $BetssonEventMarket->MarketEndDate = gmdate("Y-m-d H:i:s", strtotime($market->MarketEndDate)); $BetssonEventMarket->MarketPublishDate = gmdate("Y-m-d H:i:s", strtotime($market->MarketPublishDate)); $BetssonEventMarket->MarketStartDate = gmdate("Y-m-d H:i:s", strtotime($market->MarketStartDate)); $BetssonEventMarket->MarketStatusID = intval($market->MarketStatusID); $BetssonEventMarket->MarketStatusName = $market->MarketStatusName; $BetssonEventMarket->MarketURL = $market->MarketURL; $BetssonEventMarket->StartingPitchers = $market->StartingPitchers; $BetssonEventMarket->SubParticipantName = $market->SubParticipantName; $BetssonEventMarket->CacheDate = gmdate("Y-m-d H:i:s", strtotime($market->CacheDate)); $BetssonEventMarket->CacheExpireDate = gmdate("Y-m-d H:i:s", strtotime($market->CacheExpireDate)); $BetssonEventMarket->ErrorMessage = $market->ErrorMessage; if (!$this->storeDataRecord($BetssonEventMarket)) { return false; } // Check if data is available if (!isset($market->MarketSelections->MarketSelection)) { return true; } $selections = $market->MarketSelections->MarketSelection; if (!is_array($selections)) { $selections = [$selections]; } // Process the selections for market foreach ($selections as $key => $selection) { // Store the data if (is_object($selection)) { $this->storeSelection($selection, $BetssonEventMarket->MarketID); } else { continue; } } return $BetssonEventMarket; }
/** * @return \yii\db\ActiveQuery */ public function getMarkets() { return $this->hasMany(BetssonEventMarket::className(), ['EventID' => 'EventID'])->inverseOf('event'); }