/**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Room::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(['room_id' => $this->room_id, 'room_capacity' => $this->room_capacity]);
     $query->andFilterWhere(['like', 'room_name', $this->room_name]);
     return $dataProvider;
 }
?>

    <?php 
echo $form->field($model, 'patient_phone')->textInput(['maxlength' => true]);
?>

    <?php 
echo $form->field($model, 'patient_email')->textInput(['maxlength' => true]);
?>

    <?php 
echo $form->field($model, 'patient_status')->dropDownList(['inpatient' => 'Inpatient', 'outpatient' => 'Outpatient', '' => ''], ['prompt' => 'Select Status']);
?>

    <?php 
echo $form->field($model, 'patient_room')->widget(Select2::classname(), ['data' => ArrayHelper::map(Room::find()->all(), 'room_id', 'room_name'), 'language' => 'en', 'options' => ['placeholder' => 'Select Room'], 'pluginOptions' => ['allowClear' => true]]);
?>

    <?php 
echo $form->field($model, 'patient_doctor')->widget(Select2::classname(), ['data' => ArrayHelper::map(Doctor::find()->all(), 'doctor_id', 'doctor_name'), 'language' => 'en', 'options' => ['placeholder' => 'Select Doctor'], 'pluginOptions' => ['allowClear' => true]]);
?>

    <div class="form-group">
        <?php 
echo Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']);
?>
    </div>

    <?php 
ActiveForm::end();
?>