这个问题很简单,但是在Yii2中我找不到解决方案。
鉴于生日字段,gridview如何按年度过滤?通常在索引gridview中。
答案 0 :(得分:8)
也许你正在寻找这样的东西:
添加到您的模型
public static function getYearsList()
{
$years = (new Query())->select('DISTINCT YEAR(`birthday`) as years')->from('{{%yourTable}}')->column();
return array_combine($years, $years);
}
然后在gridview
[
'attribute' => 'birthday',
'filter' => YourModel::getYearsList(),
]
然后在搜索模型中添加andFilterWhere()
以将生日与年份进行比较。它看起来像这样:
$query->andFilterWhere('YEAR(`birthday`)' => $year);