public function searchEnrolled($params) { $pageSize = Yii::$app->params['pageSize']; $query = EnrolledForm::find()->joinWith(['gradeLevel' => function ($query) { $query->from(['gradeLevelName' => 'grade_level']); }])->joinWith(['sy' => function ($query) { $query->from(['sy' => 'school_year']); }]); /*->joinWith(['relation name' => function($query) { $query->from(['alias' => 'table name']); //$query->from(['method' => 'table name']); }])*/ $dataProvider->sort->attributes['sy_id'] = ['asc' => ['sy_id' => SORT_ASC], 'desc' => ['sy_id' => SORT_DESC]]; $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['id' => SORT_DESC, 'sy_id' => SORT_DESC]], 'pagination' => ['pageSize' => $pageSize]]); $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->joinWith('method'); //$query->joinWith('relation'); $query->joinWith('gradeLevelName'); //$query->joinWith('student'); $query->andFilterWhere(['id' => $this->id, 'student_id' => $this->student_id, 'grade_level_id' => $this->grade_level_id, 'section_id' => $this->section_id, 'enrollment_status' => $this->enrollment_status, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at])->andFilterWhere(['like', 'sy.sy', $this->sy_id]); return $dataProvider; }
public function countCurrentEnrolled() { $latest = (int) SchoolYear::find()->orderBy(['id' => SORT_DESC])->all()[0]['id']; $count = count(EnrolledForm::find()->where(['sy_id' => $latest])->where(['enrollment_status' => 0])->all()); return $count; }
use app\models\ActiveRecord; use app\models\EnrolledForm; use yii\helpers\ArrayHelper; use yii\bootstrap\ActiveForm; ?> <div class="nursery-form"> <?php $form = ActiveForm::begin(); ?> <div class="row"> <div class="container form-input-wrapper"> <div class="col-lg-4 col-md-4 col-sm-12"> <?php echo $model->isNewRecord ? $form->field($model, 'enrolled_id')->widget(Select2::classname(), ['data' => ArrayHelper::map(EnrolledForm::find()->all(), 'id', function ($model) { return $model->id . ' ' . $model->student->id . ' ' . $model->student->last_name . ', ' . $model->student->first_name . ' ' . $model->student->middle_name; }), 'language' => 'en', 'options' => ['id' => 'auto-suggest', 'placeholder' => 'Enter ID #'], 'pluginOptions' => ['allowClear' => true]])->label(false) : $model->enrolled->student->id . ' ' . $model->enrolled->student->last_name . ', ' . $model->enrolled->student->first_name . ' ' . $model->enrolled->student->middle_name; ?> </div> <div class="col-lg-3 col-md-3 col-sm-12"> <?php echo $form->field($model, 'grade_protection', ['inputTemplate' => '<div class="input-group"><span class="input-group-addon"><span class="dropdown-list">Protection</span></span></span>{input}</div>'])->dropDownList(['0' => 'Off', '1' => 'On'], ['default' => 'Off'])->label(false); ?> </div> <div class="col-lg-4 col-md-4 col-sm-12"> <?php echo $form->field($model, 'grading_period', ['inputTemplate' => '<div class="input-group"><span class="input-group-addon subject-min-width"><span class="dropdown-list">Grading Period</span></span></span>{input}</div>'])->dropDownList(['1' => '1st Grading', '2' => '2nd Grading', '3' => '3rd Grading', '4' => '4th Grading'], ['default' => '1st Grading'])->label(false); ?> </div> </div>