Example #1
0
 /** 
  * 把country跑到mv_basic_country
  */
 public function actionFixcountry()
 {
     $mvBasic = MvBasic::find()->where('id>=12313')->orderBy('id asc');
     $total = $mvBasic->count();
     $page = 1;
     $pageSize = 40;
     $totalPage = ceil($total / $pageSize);
     $mvBasic->limit($pageSize)->asArray();
     for ($page = 1; $page <= $totalPage; $page++) {
         $offset = ($page - 1) * $pageSize;
         $data = $mvBasic->offset($offset)->all();
         foreach ($data as $v) {
             $basic_id = $v['id'];
             $movieCountry = explode(',', $v['countries']);
             echo $basic_id, "\n";
             foreach ($movieCountry as $t) {
                 echo $t, "\n";
                 // mv_basic_condition  country
                 $cond = models\MvBasicCondition::find()->where(['name' => $t, 'status' => 1, 'cond_type' => 2])->asArray()->one();
                 if (empty($cond)) {
                     $MvBasicType = new models\MvBasicCondition();
                     $MvBasicType->cond_type = 2;
                     $MvBasicType->name = $t;
                     $MvBasicType->update_time = time();
                     $MvBasicType->save();
                     $cond_id = $MvBasicType->primaryKey;
                 } else {
                     $cond_id = $cond['id'];
                 }
                 // mv_basic_country
                 if (!models\MvBasicCountry::findOne(['basic_id' => $basic_id, 'country_id' => $cond_id])) {
                     $MvBasicCountry = new models\MvBasicCountry();
                     $MvBasicCountry->basic_id = $basic_id;
                     $MvBasicCountry->country_id = $cond_id;
                     $MvBasicCountry->save();
                 }
             }
             echo "\n\n";
         }
     }
     return $ret;
 }
Example #2
0
 public function actionSphinxdata()
 {
     ini_set('memory_limit', '512M');
     $dataFile = '/usr/local/sphinx/data/mv_main.tsv';
     // mv_basic_condition
     $movieCondData = models\MvBasicCondition::find()->select('*')->asArray()->all();
     $movieCond = [];
     foreach ($movieCondData as $v) {
         $movieCond[$v['cond_type']][$v['id']] = $v['name'];
     }
     // mv_basic_type
     $movieTypeData = models\MvBasicType::find()->select('*')->asArray()->all();
     $movieType = [];
     foreach ($movieTypeData as $v) {
         $movieType[$v['basic_id']][] = $movieCond['1'][$v['cate_id']];
     }
     // mv_basic_country
     $movieCountryData = models\MvBasicCountry::find()->select('*')->asArray()->all();
     $movieCountry = [];
     foreach ($movieCountryData as $v) {
         $movieCountry[$v['basic_id']][] = $movieCond['2'][$v['country_id']];
     }
     // mv_basic
     $movieData = models\MvBasic::find()->select('id,title,py_title,original_title,py_original_title,aka,directors,casts,year,rating,update_time,status')->where('status=1 and rating>"0.0"')->asArray()->all();
     if ($h = fopen($dataFile, "wb")) {
         foreach ($movieData as $k => &$v) {
             $id = $v['id'];
             var_dump($id);
             $v['directors'] = str_replace("\t", "", $v['directors']);
             $v['casts'] = str_replace("\t", "", $v['casts']);
             //$v['aka'] = isset($v['aka']) ? implode(' ', explode(',',$v['aka'])) : '';
             $v['type'] = isset($movieType[$id]) ? implode(' ', $movieType[$id]) : '';
             $v['country'] = isset($movieCountry[$id]) ? implode(' ', $movieCountry[$id]) : '';
             //var_dump( implode("\t",$v)  );die;
             $line = implode("\t", $v) . "\n";
             fwrite($h, $line);
         }
         fclose($h);
     }
 }
Example #3
0
 /**
  * 更新电影国家地区
  * mv_basic_ , mv_basic_condition 入库
  */
 public function updateMovieCountry($basic_id, $movieCountry)
 {
     if (empty($basic_id) || !is_numeric($basic_id) || empty($movieCountry) || !is_array($movieCountry)) {
         return false;
     }
     foreach ($movieCountry as $t) {
         // mv_basic_condition  country
         $cond = models\MvBasicCondition::find()->where(['name' => $t, 'cond_type' => 2])->asArray()->one();
         if (empty($cond)) {
             $MvBasicType = new models\MvBasicCondition();
             $MvBasicType->cond_type = 2;
             $MvBasicType->name = $t;
             $MvBasicType->update_time = time();
             $MvBasicType->save();
             $cond_id = $MvBasicType->primaryKey;
         } else {
             $cond_id = $cond['id'];
         }
         // mv_basic_country
         if (!models\MvBasicCountry::findOne(['basic_id' => $basic_id, 'country_id' => $cond_id])) {
             $MvBasicCountry = new models\MvBasicCountry();
             $MvBasicCountry->basic_id = $basic_id;
             $MvBasicCountry->country_id = $cond_id;
             $MvBasicCountry->save();
         }
     }
 }