public function run()
 {
     DB::table('wines')->truncate();
     DB::table('wineries')->truncate();
     DB::connection()->disableQueryLog();
     set_time_limit(3600);
     $c = 0;
     $i = 1;
     $count = 1;
     $winery_id = 1;
     try {
         $file = app_path() . '/rakuten_wine_data_20140905.csv';
         //$file = app_path() . '/testcsv.csv';
         $i = 1;
         $country_name_on_wines = Wine::take(300)->get(array('country_name'));
         $country_name_ja_list = Country::get(array('country_name_ja'));
         foreach ($country_name_ja_list as $country_name) {
             if ($country_name->country_name_ja != null) {
                 if ($i == 1) {
                     $re = $country_name->country_name_ja;
                     $i++;
                 } else {
                     $re = $re . "|" . $country_name->country_name_ja;
                 }
             }
         }
         $re_country_name = "'/" . $re . "/'";
         $parser = \KzykHys\CsvParser\CsvParser::fromFile($file, array("encoding" => "UTF-8"));
         foreach ($parser as $column_wine) {
             echo $c++ . "\n";
             if (count($column_wine) == 33) {
                 $validator = Validator::make(array('rakuten_id' => $column_wine[0]), array('rakuten_id' => 'exists:wines2,rakuten_id'));
                 if ($validator->passes()) {
                     if ($column_wine[13] == 'NA' && $column_wine[14] !== 'NA') {
                         $column_wine[13] = $column_wine[14];
                     }
                     if ($column_wine[9] == 'NA' && $column_wine[10] !== 'NA') {
                         $column_wine[9] = $column_wine[10];
                     }
                     for ($j = 0; $j < 33; $j++) {
                         if ($column_wine[$j] == 'NA') {
                             $column_wine[$j] = '';
                         }
                     }
                     if ($column_wine[3] == '') {
                         $column_wine[3] = $column_wine[1];
                     }
                     if ($column_wine[9] != null) {
                         $in_string = preg_match($re_country_name, $column_wine[9], $matches);
                         if ($in_string == true) {
                             //$country = explode('・', $country_name->country_name, -1);
                             $country = Country::where('country_name_ja', $matches[0])->first();
                             if ($country) {
                                 $flag = $country->flag_url;
                             } else {
                                 $flag = null;
                             }
                         }
                     }
                     $winery = Winery::where('brand_name', $column_wine[16])->first();
                     if ($winery == null) {
                         $winery_data = array('id' => $winery_id, 'brand_name' => $column_wine[16], 'country_id' => '', 'country_name' => $column_wine[10], 'year' => $column_wine[14], 'winery_url' => $column_wine[18], 'region' => $column_wine[11], 'description' => '');
                         Winery::create($winery_data);
                         $winery = $winery_id;
                         $winery_id++;
                     } else {
                         $winery = $winery->id;
                     }
                     $wine = array('name' => $column_wine[3], 'name_en' => $column_wine[4], 'sub_name' => $column_wine[5], 'sub_name_en' => $column_wine[6], 'year' => $column_wine[13], 'winery_id' => $winery, 'rakuten_id' => $column_wine[0], 'original_name' => $column_wine[1], 'original_name_2' => $column_wine[2], 'country_name' => $column_wine[9], 'image_url' => $column_wine[27], 'wine_flag' => $flag, 'imformation_image' => $column_wine[21] . ',' . $column_wine[22] . ',' . $column_wine[23] . ',' . $column_wine[24] . ',' . $column_wine[25] . ',' . $column_wine[26], 'rakuten_url' => $column_wine[17], 'wine_unique_id' => $i . '_' . $column_wine[13], 'color' => $column_wine[12], 'average_price' => $column_wine[15], 'average_rate' => 0, 'rate_count' => 0, 'wine_type' => $column_wine[7], 'folder_code' => $column_wine[20]);
                     if ($wine['year'] == '' || $wine['year'] == 0) {
                         $wine['wine_unique_id'] = $i . '_' . $i;
                     }
                     Wine::create($wine);
                     $i++;
                 }
             } else {
                 $error = implode(",", $column_wine);
                 $file_error = app_path() . "/error.txt";
                 file_put_contents($file_error, $error . "\n", FILE_APPEND | LOCK_EX);
             }
         }
     } catch (Exception $e) {
         echo 'Caught exception: ', $e->getMessage(), "\n";
     }
 }
Ejemplo n.º 2
0
 public function run()
 {
     DB::table('wines')->delete();
     Wine::create(array('wine_id' => '1', 'name' => 'Gnarly Head Authentic White', 'year' => '2011', 'winery_id' => '1', 'image_url' => 'wines/1.jpg', 'wine_unique_id' => '1_2011', 'average_price' => '1200', 'average_rate' => '3.0', 'wine_type' => '2'));
     Wine::create(array('wine_id' => '2', 'name' => 'Trimbach Riesling', 'year' => '2010', 'winery_id' => '2', 'image_url' => 'wines/2.png', 'wine_unique_id' => '2_2010', 'average_price' => '1700', 'average_rate' => '4.0', 'wine_type' => '2'));
     Wine::create(array('wine_id' => '3', 'name' => 'Gruner Love Featuring the Stadlmann Gruner Veltliner ', 'year' => '2011', 'winery_id' => '3', 'image_url' => 'wines/3.png', 'wine_unique_id' => '3_2011', 'average_price' => '1600', 'average_rate' => '2.5', 'wine_type' => '1'));
     Wine::create(array('wine_id' => '4', 'name' => 'Pine Ridge Chenin Blanc + Viognier ', 'year' => '2013', 'winery_id' => '4', 'image_url' => 'wines/4.png', 'wine_unique_id' => '4_2013', 'average_price' => '1200', 'average_rate' => '2.0', 'wine_type' => '3'));
     Wine::create(array('wine_id' => '5', 'name' => 'Frescobaldi Nipozzano Chianti Rufina Riserva', 'year' => '2009', 'winery_id' => '5', 'image_url' => 'wines/5.png', 'wine_unique_id' => '5_2009', 'average_price' => '2200', 'average_rate' => '4.5', 'wine_type' => '1'));
     for ($i = 6; $i < 11; $i++) {
         $data = array('wine_id' => "{$i}", 'name' => "Wine_{$i}", 'year' => '2009', 'winery_id' => "1", 'wine_flag' => '', 'image_url' => 'wines/' . $i . '.png', 'wine_unique_id' => $i . "_2009", 'average_price' => '2200', 'average_rate' => '4.5', 'wine_type' => '1', 'rate_count' => '3');
         $winery_id = $data['winery_id'];
         $winery = Winery::where('id', $winery_id)->with('country')->first();
         if ($winery) {
             $data['wine_flag'] = $winery->country->flag_url;
         } else {
             $data['wine_flag'] = '';
         }
         Wine::create($data);
     }
     //        Wine::create(array(
     //        	'name' => 'カベルネ・ソーヴィニヨン',s
     //            'year' => '1990',
     //            'winery_id' => '1',
     //            'image_url' => public_path() . '/images/1',
     //            'wine_unique_id' => '1_1990',
     //            'average_price' => '0.0',
     //            'average_rate' => '0.0',
     //            'wine_type' => '赤',
     //        ));
     //        Wine::create(array(
     //        	'name' => 'メルロー ',
     //            'year' => '1990',
     //            'winery_id' => '1',
     //            'image_url' => public_path() . '/images/2',
     //            'wine_unique_id' => '2_1990',
     //            'average_price' => '0.0',
     //            'average_rate' => '0.0',
     //            'wine_type' => '赤',
     //        ));
     //        Wine::create(array(
     //        	'name' => 'カルメネール',
     //            'year' => '1993',
     //            'winery_id' => '1',
     //            'image_url' => public_path() . '/images/3',
     //            'wine_unique_id' => '3_1993',
     //            'average_price' => '0.0',
     //            'average_rate' => '0.0',
     //            'wine_type' => '赤',
     //        ));
     //        Wine::create(array(
     //        	'name' => 'シラー',
     //            'year' => '1993',
     //            'winery_id' => '1',
     //            'image_url' => public_path() . '/images/4',
     //            'wine_unique_id' => '4_1993',
     //            'average_price' => '0.0',
     //            'average_rate' => '0.0',
     //            'wine_type' => '赤',
     //        ));
     //        Wine::create(array(
     //        	'name' => 'ピノ・ノワール',
     //            'year' => '1990',
     //            'winery_id' => '1',
     //            'image_url' => public_path() . '/images/5',
     //            'wine_unique_id' => '5_1990',
     //            'average_price' => '0.0',
     //            'average_rate' => '0.0',
     //            'wine_type' => '赤',
     //        ));
     //        Wine::create(array(
     //        	'name' => 'ピノノワール・ロゼ ',
     //            'year' => '1993',
     //            'winery_id' => '1',
     //            'image_url' => public_path() . '/images/6',
     //            'wine_unique_id' => '6_1993',
     //            'average_price' => '0.0',
     //            'average_rate' => '0.0',
     //            'wine_type' => 'ロゼ',
     //        ));
     //        Wine::create(array(
     //        	'name' => 'シャルドネ',
     //            'year' => '1990',
     //            'winery_id' => '1',
     //            'image_url' => public_path() . '/images/7',
     //            'wine_unique_id' => '7_1990',
     //            'average_price' => '0.0',
     //            'average_rate' => '0.0',
     //            'wine_type' => '白',
     //        ));
     //        Wine::create(array(
     //        	'name' => 'ゲヴュルツトラミネール ',
     //            'year' => '1990',
     //            'winery_id' => '1',
     //            'image_url' => public_path() . '/images/8',
     //            'wine_unique_id' => '8_1990',
     //            'average_price' => '0.0',
     //            'average_rate' => '0.0',
     //            'wine_type' => '白',
     //        ));
     //        Wine::create(array(
     //        	'name' => 'リースリング ',
     //            'year' => '1990',
     //            'winery_id' => '1',
     //            'image_url' => public_path() . '/images/9',
     //            'wine_unique_id' => '9_1990',
     //            'average_price' => '0.0',
     //            'average_rate' => '0.0',
     //            'wine_type' => '白',
     //        ));
     //        Wine::create(array(
     //        	'name' => 'ソーヴィニヨン・ブラン ',
     //            'year' => '1993',
     //            'winery_id' => '1',
     //            'image_url' => public_path() . '/images/10',
     //            'wine_unique_id' => '10_1993',
     //            'average_price' => '0.0',
     //            'average_rate' => '0.0',
     //            'wine_type' => '白',
     //        ));
     //        Wine::create(array(
     //        	'name' => 'ヴィオニエ',
     //            'year' => '1993',
     //            'winery_id' => '1',
     //            'image_url' => public_path() . '/images/11',
     //            'wine_unique_id' => '11_1993',
     //            'average_price' => '0.0',
     //            'average_rate' => '0.0',
     //            'wine_type' => '白',
     //        ));
 }