/** * Creates a new Complaint model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new ComplaintCompleteForm(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { //create entries into the DB //check if comlainant already exists $complainant = $model->getComplainant(); if ($complainant == null) { $complainant = new Complainant(); $complainant->cnic = $model->cnic; $complainant->name = $model->name; $complainant->phone = $model->phone; $complainant->address_house_number = $model->house; $complainant->address_street_number = $model->street; $complainant->address_sector_id = $model->sector; $complainant->save(); $complainant->id = $complainant->getPrimaryKey(); } $complaint = new Complaint(); $complaint->complainant_id = $complainant->id; $complaint->description = $model->complaint; $complaint->save(); return $this->redirect(['view', 'id' => $complaint->id]); } else { return $this->render('create', ['model' => $model]); } }
public function getComplainant() { return $this->hasOne(Complainant::className(), ['id' => 'complainant_id']); }
public function getComplainant() { $complainant = Complainant::find()->where(array('cnic' => $this->cnic))->one(); return $complainant; }
/** * @return \yii\db\ActiveQuery */ public function getComplainants() { return $this->hasMany(Complainant::className(), ['sector_id' => 'id']); }