Yii2网格视图的默认过滤器状态

时间:2017-08-03 15:33:34

标签: yii2 yii2-advanced-app

对于不得不提出这个问题,我感到非常愚蠢,但我根本没有理解它。我正在建立一个社交节日管理志愿者的网络应用程序(以及我自己的志愿者承诺)。该应用程序具有Application(如在工作申请中)& Commitment个模型,它们都具有year属性,在数据库中定义为year(4),因此没有月份或日期信息。我有相应的ApplicationSearch模型,ApplicationControllerCommitmentSearch模型,& CommitmentController目前正由Gii生成,视图也是如此。

在我的应用程序后端中,这两个模型的GridView的默认状态应该只显示当前年份的记录。

1 个答案:

答案 0 :(得分:1)

一种方法是基于将实际年份分配给您的dataProvider

 public function actionYourAction()
  {
      $searchModel = new YourModelSearch(); 

      $queryParams = Yii::$app->request->queryParams;

      $dataProvider = $searchModel->search($queryParams);
      if (!isset($queryParams['YourModelSearch']['your_year_column']))      {
         $dataProvider->query->
              andWhere('your_year_column =  YEAR(curdate())'  );

      }

      ......