render('index',$this->getList()); } public function actionInfo(){ $request = Yii::$app->request; $id = $request->get('id', 0); $type = $request->get('type', 0); $gift_enable = $request->get('gift_enable', 0); $info = FixCarT::findOne(['id' => $id]); return $this->render('info', [ 'info' => $info, 'direction_items' => $this->getDirection(), 'range_items' => $this->getRange(), 'log_items' => $this->getCarLog($info->car_id), 'driver_items' => $this->getDrivers(), 'brand_items' => $this->getBrands(), 'series_items' => $this->getSeries($info->brand_id), 'displacement_items' => $this->getDisplacement($info->series_id), 'type' => $type, 'years' => $this->getYears($info->displacement_id), 'gift_enable' => $gift_enable, ]); } public function actionUpdate(){ Yii::$app->response->format = Response::FORMAT_JSON; $request = Yii::$app->request; $follow_car_items = $request->post('follow_car_items'); $status = $request->post('status'); $car_id = $request->post('id'); if($car_id < 1) return Message::getMessage(); $tran = FixCarT::getDb()->beginTransaction(); try{ $model = FixCarT::findOne($car_id); $model->getModelScenario(); $model->attributes = $request->post(); $model->out_factory_date = date('Y-m-d H:i:s'); //如果有随车物品,则拼接为字符串 if (!empty($follow_car_items)) $model->follow_car_items = implode($follow_car_items, ','); if(!$model->validate()) throw new Exception(array_values($model->firstErrors)[0]); if(!$model->save()) throw new Exception('操作失败!'); $middle_models = MiddleFixCarT::find()->where('fix_id='.$car_id)->all(); foreach($middle_models as $middle_model){ $middle_model->status = $status; if(!$middle_model->save()) throw new Exception('操作失败!'); } $tran->commit(); $success = true; $message = '操作成功'; }catch(Exception $e){ $tran->rollBack(); $success = false; $message = $e->getMessage(); }finally{ unset($request,$follow_car_items,$status,$car_id,$tran,$model,$middle_models); } return Message::getMessage($success,$message); } public function actionTest(){ $displacements = DisplacementT::find()->all(); foreach($displacements as $displacement){ $car_price_b = FixCarPriceB::find()->where('displacement_id='.$displacement->id)->all(); if(!$car_price_b) continue; foreach($car_price_b as $p){ if(FixCarPart::findOne([ 'series_id'=>$displacement->series_id, 'displacement_id' => $displacement->id, 'year_id'=>$p->id, ])) continue; $data[] = [ 'series_id'=>$displacement->series_id, 'displacement_id' => $displacement->id, 'year_id'=>$p->id, ]; } } Yii::$app->getDb()->createCommand()->batchInsert(FixCarPart::tableName(),['series_id','displacement_id','year_id'],$data)->execute(); } }