/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Docmedal::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['mdl_id' => $this->mdl_id, 'mdl_doc_id' => $this->mdl_doc_id]); $query->andFilterWhere(['like', 'mdl_competition', $this->mdl_competition])->andFilterWhere(['like', 'mdl_title', $this->mdl_title]); return $dataProvider; }
/** * Finds the Docmedal model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Docmedal the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Docmedal::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * @param $data */ public function saveMedals($data) { // $aModels = $this->persons; $aNeedDel = []; Docmedal::updateAll(['mdl_doc_id' => 0, 'mdl_competition' => '', 'mdl_title' => ''], ['mdl_doc_id' => $this->doc_id]); foreach ($data as $ob) { $ob['mdl_doc_id'] = $this->doc_id; Yii::info('medal = ' . print_r($ob, true)); $s = 'Update ' . Docmedal::tableName() . ' Set '; $param = []; $sDelim = ''; foreach ($ob as $k => $v) { $s .= $sDelim . $k . ' = ' . ':' . $k; $param[':' . $k] = $v; $sDelim = ', '; } $s .= ' Where mdl_doc_id = 0 Limit 1'; // Yii::info($s); $n = Yii::$app->db->createCommand($s, $param)->execute(); if ($n == 0) { $oNew = new Docmedal(); $oNew->attributes = $ob; if (!$oNew->save()) { Yii::info('Error save Docmedal: ' . print_r($oNew->getErrors(), true)); } } } }
<div class="row"> <div class="col-xs-12"> <div class="lio_form_name">Представление работы на конференциях/конкурсах, представленных на сайте mgk.olimpiada.ru</div> </div> </div> <div class="row"> <div class="col-xs-12"> <div class="add_remove"> <a class="lio_add_el add_medal">Добавить</a> </div> </div> </div> <?php echo MultirowsWidget::widget(['model' => Docmedal::className(), 'form' => $form, 'records' => $model->medals, 'rowview' => '@app/views/docmedal/_form_indoclad.php', 'addlinkselector' => '.add_medal', 'dellinkselector' => '.del_medal', 'afterDelete' => 'function(){ }', 'canDeleteLastRow' => true]); ?> <a name="fileuploadpart" id="fileuploadpart"></a> <?php if ($model->doc_state == Doclad::DOC_STATUS_APPROVE) { echo $this->render('_file_upload', ['model' => $model, 'form' => $form]); } ?> <div class="row"> <div class="col-xs-12"> <div class="lio_form_line"></div> </div> </div>
public function behaviors() { return ['validateConsultant' => ['class' => MultirowsBehavior::className(), 'model' => Person::className(), 'defaultattributes' => ['prs_type' => Person::PERSON_TYPE_CONSULTANT], 'scenario' => 'createconsultant'], 'validateMedals' => ['class' => MultirowsBehavior::className(), 'model' => Docmedal::className()], 'validateMembers' => ['class' => MultirowsBehavior::className(), 'model' => Member::className()], 'access' => ['class' => AccessControl::className(), 'rules' => [['allow' => true, 'actions' => ['list', 'create', 'view', 'update', 'logout', 'delete', 'deletefile'], 'roles' => ['@']], ['allow' => true, 'actions' => ['index', 'register', 'calendar', 'guest', 'login'], 'roles' => ['?', '@']], ['allow' => true, 'actions' => ['regthankyou', 'confirm'], 'roles' => ['?', '@']]]]]; }