public function actionImport() { $total_records = 0; $inserted_records = 0; $msg = ""; $model = new Business(); $model->setScenario('importFile'); //$file = CUploadedFile::getInstance($model,'csv_file'); if (isset($_POST['Business'])) { // echo $_POST['Business']['import_option']; die(); if (!empty($_FILES['Business']['tmp_name']['import_file'])) { $file = CUploadedFile::getInstance($model, 'import_file'); $fp = fopen($file->tempName, 'r'); $row = 1; if ($fp) { $line = fgetcsv($fp, 1000, ";"); $first_time = true; $c = 1; if ($_POST['Business']['import_option'] == "Insert") { do { if ($first_time == true) { $first_time = false; $headerLine = $line; continue; } //$data = explode(",",$line); //$data = $line[0]; // $data = explode(';',$line); $fData = array_combine($headerLine, $line); //echo '<pre>'; var_dump($fData); echo '</pre>'; die(); $email_id = $fData['business_email_id1']; $modelObj = Business::model()->findByAttributes(array('business_email_id1' => $email_id)); if (isset($modelObj->business_email_id1)) { $modelObj = new Business(); $modelObj->setIsNewRecord(true); $modelObj->attributes = $fData; $modelObj->logo_photo_name = $fData['logo_photo_name']; $modelObj->cover_photo_name = $fData['cover_photo_name']; // echo '<pre>'; var_dump($modelObj); echo '</pre>'; die(); if ($modelObj->validate()) { $modelObj->save(); var_dump($model->getErrors()); } else { die(CVarDumper::dump($modelObj->errors, 10, true)); } $modelObj->business_id; $inserted_records = $inserted_records + 1; } $total_records = $total_records + 1; } while (($line = fgetcsv($fp, 1000, ";")) != FALSE); $msg = $inserted_records . " records are inserted" . " out of " . $total_records; $this->render('import', array('model' => $model, 'total_records' => $total_records, 'inserted_records' => $inserted_records, 'msg' => $msg)); } if ($_POST['Business']['import_option'] == "Update") { do { if ($first_time == true) { $first_time = false; $headerLine = $line; continue; } //$data = explode(",",$line); $data = $line[0]; $data = explode(',', $data); //echo '<pre>'; var_dump($headerLine); echo '</pre>'; die(); $fData = array_combine($headerLine, $data); $email_id = $fData['business_email_id1']; $modelObj = Business::model()->find('business_email_id1=:business_email_id1', array(':business_email_id1' => $email_id)); // echo '<pre>'; var_dump($modelObj); echo '</pre>'; die(); // echo var_dump($modelObj); if ($modelObj) { $modelObj->attributes = $fData; $modelObj->logo_photo_name = $fData['logo_photo_name']; $modelObj->cover_photo_name = $fData['cover_photo_name']; // echo '<pre>'; var_dump($modelObj); echo '</pre>'; die(); $modelObj->save(); $modelObj->business_id; $inserted_records = $inserted_records + 1; } $total_records = $total_records + 1; } while (($line = fgetcsv($fp, 1000, ";")) != FALSE); // echo "count:".$inserted_records.'---'.$total_records; die(); $msg = $inserted_records . " records are updated" . " out of " . $total_records; $this->render('import', array('model' => $model, 'total_records' => $total_records, 'inserted_records' => $inserted_records, 'msg' => $msg)); //$this->redirect('././view'); } } $msg = "Please select insert or update option for import file."; $this->render('import', array('model' => $model, 'total_records' => $total_records, 'inserted_records' => $inserted_records, 'msg' => $msg)); } $msg = "Please upload file."; $this->render('import', array('model' => $model, 'total_records' => $total_records, 'inserted_records' => $inserted_records, 'msg' => $msg)); } $this->render('import', array('model' => $model, 'total_records' => $total_records, 'inserted_records' => $inserted_records, 'msg' => $msg)); }