コード例 #1
0
ファイル: RankCommand.php プロジェクト: aureliemartin/rtycoon
 /**
  * Refresh restaurants by postcode
  * 
  * @param Postcode $currentPostcode
  * @return Postcode
  */
 protected function _refreshPostcode($currentPostcode)
 {
     $manager = $this->getDoctrine()->getManager();
     $result = $this->_callJusteat('restaurants?q=' . $currentPostcode->getPostcode());
     $JERestaurants = json_decode($result);
     $restaurantRepo = $manager->getRepository('TycoonApiBundle:Restaurant');
     $cuisineRepo = $manager->getRepository('TycoonApiBundle:Cuisine');
     foreach ($JERestaurants->Restaurants as $JERestaurant) {
         // Load restaurant
         $currentRestaurant = $restaurantRepo->findOneByJusteatId($JERestaurant->Id);
         if (empty($currentRestaurant)) {
             // Create restaurant
             $currentRestaurant = new Restaurant();
             $currentRestaurant->setJusteatId($JERestaurant->Id);
         }
         $currentRestaurant->setName($JERestaurant->Name);
         $currentRestaurant->setAddress($JERestaurant->Address);
         if (!empty($JERestaurant->City)) {
             $currentRestaurant->setCity($JERestaurant->City);
         }
         if (!empty($JERestaurant->Url)) {
             $currentRestaurant->setUrl($JERestaurant->Url);
         }
         if (!empty($JERestaurant->Logo[0]->StandardResolutionURL)) {
             $currentRestaurant->setLogo($JERestaurant->Logo[0]->StandardResolutionURL);
         }
         if (!empty($JERestaurant->Latitude)) {
             $currentRestaurant->setLatitude($JERestaurant->Latitude);
         }
         if (!empty($JERestaurant->Longitude)) {
             $currentRestaurant->setLongitude($JERestaurant->Longitude);
         }
         if (!empty($JERestaurant->Score)) {
             $currentRestaurant->setScore($JERestaurant->Score);
         }
         foreach ($JERestaurant->CuisineTypes as $cuisineType) {
             // Load cuisine
             $currentCuisine = $cuisineRepo->findOneByJusteatId($cuisineType->Id);
             if (empty($currentCuisine)) {
                 // Create cuisine
                 $currentCuisine = new Cuisine();
                 $currentCuisine->setJusteatId($cuisineType->Id);
                 $currentCuisine->setName($cuisineType->Name);
             }
             $currentRestaurant->addCuisine($currentCuisine);
             $currentCuisine->addRestaurant($currentRestaurant);
             $manager->persist($currentCuisine);
         }
         $currentRestaurant->addPostcode($currentPostcode);
         $currentPostcode->addRestaurant($currentRestaurant);
         $manager->persist($currentRestaurant);
         $manager->flush();
     }
     $currentPostcode->initRefreshedAt();
     $manager->persist($currentPostcode);
     $manager->flush();
     return $currentPostcode;
 }
コード例 #2
0
ファイル: RestaurantDb.php プロジェクト: oripuma/foodo
 private function createRestaurant($row)
 {
     $r = new Restaurant();
     $r->setId($row['id']);
     $r->setName($row['name']);
     $r->setDescription($row['description']);
     $r->setRating($row['rating']);
     $r->setRatingCount($row['rating_count']);
     $r->setPhone($row['phone']);
     $r->setLat($row['lat']);
     $r->setLng($row['lng']);
     $r->setCreated($row['created_at']);
     $r->setAddress($row['address']);
     $r->setZip($row['zip']);
     $r->setCity($row['city']);
     $r->setWebsite($row['website']);
     $r->setEmail($row['email']);
     $r->setPricegroup($row['pricegroup']);
     $r->setTypes($row['types']);
     //$r->setModified($row['modified_at']);
     return $r;
 }