امروز:دوشنبه ,۱۳۹۸/۰۶/۲۵
Download http://bigtheme.net/joomla Free Templates Joomla! 3
Home / Yii2 / groupBy در dataProvider کنترلر

groupBy در dataProvider کنترلر

groupBy در dataProvider کنترلر

در صورتی که بخواهیم شرطی در اکشن index در کنترلر قرار بدهیم که این شرط را فقط در این اکشن لازم داریم به صورت زیر عمل می کنیم.
توجه داشته باشید که شما در ModelSearch می توانید شرط های سراسری را اعمال نمایید.
ActiveDataProvider دارای پروپرتی ای با نام $query است که شما می توانید به آن دسترسی پیدا کنید و شروط خود را اعمال کنید.
برای مثال :

->select()
->where()
->groupBy()
.
.
.
     $dataProvider->query->where(['teacher_id' => $user_id])->groupBy('cours_date');

در نهایت در اکشن خود کد زیر را خواهیم داشت:

public function actionTeacherindex() {
        $user_id = Yii::$app->user->id;
        $searchModel = new TeachertimeSearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
        $dataProvider->query->where(['teacher_id' => $user_id])->groupBy('cours_date');
        return $this->render('teacherindex', [
                    'searchModel' => $searchModel,
                    'dataProvider' => $dataProvider,
        ]);
    }

Check Also

yii2 The ‘cursor’ option is required, except for aggregate with the explain argument

yii2 The ‘cursor’ option is required, except for aggregate with the explain argument برای حل …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *