/** * @return \yii\db\ActiveQuery */ public function getEventTeams() { return $this->hasMany(DotaEventTeam::className(), ['event_id' => 'id']); }
/** * проверяем изменения в командах */ public function checkTeams($model) { $array_identical = false; if (count($model->dotaEventTeams) != count($model->team_ids)) { $array_identical = false; } else { foreach ($model->dotaEventTeams as $model1) { //echo'<pre>';print_r($model_spec);echo'</pre>';//die; $array_identical = false; foreach ($model->team_ids as $key => $value) { $array_identical = false; if ($model1->team_id == $value) { $array_identical = true; } if ($array_identical === false) { break; } } if ($array_identical === false) { break; } } } //echo'<pre>';var_dump($array_identical);echo'</pre>';die; //echo'<pre>';var_dump($model->team_ids);echo'</pre>';die; if ($array_identical == false) { foreach ($model->dotaEventTeams as $model1) { $model1->delete(); } foreach ($model->team_ids as $value) { $model_n = new DotaEventTeam(); $model_n->event_id = $model->id; $model_n->team_id = $value; //echo'<pre>';var_dump($model_n);echo'</pre>';die; $model_n->save(); } } }