首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用yii2在gridview rowOption中使用mysql查询更改行颜色

如何使用yii2在gridview rowOption中使用mysql查询更改行颜色
EN

Stack Overflow用户
提问于 2018-08-06 18:53:16
回答 1查看 78关注 0票数 0

我希望根据到期日期大于当前日期且小于月份的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();   
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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'
            ];
        }
    }
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51705959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档