public function actionUpdate($id) { $totalCount = \backend\models\Saleorderinvoiceline::find()->where(['invid' => $id])->count(); $saleincluded = \backend\models\Invoicerefsale::find()->where(['invid' => $id])->all(); $saleincludedcount = \backend\models\Invoicerefsale::find()->where(['invid' => $id])->count(); $pages = new Pagination(['totalCount' => $totalCount, 'pageSize' => 20]); $searchModel = \backend\models\Saleorderinvoiceline::find()->where(['invid' => $id])->orderBy('recid')->offset($pages->offset)->limit($pages->limit)->all(); $model = $this->findModel($id); if ($model->load(Yii::$app->request->post())) { $saledate = $_POST['Saleorderinvoice']['invoicedate']; $model->invoicedate = date('d/M/Y H:i:s', strtotime($saledate)); if ($model->save()) { $uploaded = UploadedFile::getInstance($model, 'upfile'); $result = 0; if (!empty($uploaded)) { $upfiles = time() . "." . $uploaded->getExtension(); $uploaded->saveAs('../../uploads/' . $upfiles); $handle = fopen('../../uploads/' . $upfiles, 'r'); $n = 0; while (($fileop = fgetcsv($handle, 1000, ",")) !== false) { if ($n < 1) { $n++; continue; } $model2 = new \backend\models\Saleorderinvoiceline(); $model2->invid = $model->recid; $model2->invline = $fileop[0]; $model2->partno = $fileop[1]; $model2->description = $fileop[2]; $model2->quantity = $fileop[3]; $model2->unitprice = $fileop[4]; $model2->totalamount = $fileop[5]; $model2->unit = 1; if ($model2->save()) { $result++; } } fclose($handle); if ($result > 0) { $session = new \yii\web\Session(); $session->open(); $session->setFlash('msgsuccess', 'บันทึกรายการเรียบร้อย'); return $this->redirect(['update', 'id' => $model->recid]); } } } else { } } else { return $this->render('update', ['model' => $model, 'saleline' => $searchModel, 'pages' => $pages, 'rowcount' => $totalCount, 'saleincluded' => $saleincluded, 'saleincludedcount' => $saleincludedcount]); } return $this->render('update', ['model' => $model, 'saleline' => $searchModel, 'pages' => $pages, 'rowcount' => $totalCount, 'saleincluded' => $saleincluded, 'saleincludedcount' => $saleincludedcount]); }