255], ]; } public function getAdmissionCampaigns() { return $this->hasMany(AdmissionCampaign::class, ['id' => 'campaign_id']) ->viaTable('{{%admission_campaign_grouping_modes_junction}}', ['grouping_mode_id' => 'id']); } public static function GetOrCreateBy(string $code_name, string $description): SpecialityGroupingMode { $model = self::findOne(['code_name' => $code_name]); if ($model === null) { $model = new SpecialityGroupingMode(); $model->code_name = $code_name; } if ($model->description !== $description) { $model->description = $description; if (!$model->save()) { throw new RecordNotValid($model); } } return $model; } }