我希望根据到期日期大于当前日期且小于月份的MySQL查询来更改行颜色。
'rowOptions'=>function($model) {
if($model['expirydate'] >= '2018-08-10') {
return ['class' => 'danger'];
}
},
如何在rowOption中使用以下条件来突出显示即将到期的域行--
$domains=Domains::find()
->Where('expirydate BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 1 MONTH)')
->andWhere(['or',['status'=> 'Active'],['status'=> 'Pending Transfer']])
->orderBy(['expirydate' => SORT_ASC])
->all();
发布于 2018-08-06 19:41:43
您需要在PHP语言中执行此操作,并且可以使用\DateTime()
类比较该范围内的日期
[
'rowOptions' => function ($model, $key, $index, $grid) {
$db_date = new DateTime($model->expirydate);
$range_start = new DateTime();
$range_end = new DateTime();
$range_end->add(new DateInterval('P1M'));
//if between range
if ($db_date >= $range_start && $db_date <= $range_end) {
return[
'class' => 'green'
];
} else {
return [
'class' => 'red'
];
}
}
]
https://stackoverflow.com/questions/51705959
复制相似问题