yii2 时间区间查询三

再一次的用到了时间区间查询,跟上次仍然不一样。
这次是在_search的activeForm 中使用
首先 composer下载安装小部件

composer require "kartik-v/yii2-date-range": "*"

这里安装时如果提示“:”有问题,可以直接composer require "kartik-v/yii2-date-range"
引入:use kartik\daterange\DateRangePicker;
form里面使用

    <?= $form->field($model,'ctime')->widget(DateRangePicker::className(),[
            'autoUpdateOnInit'=>false,
            'convertFormat' => true,
            'language' => 'zh-CN',
            'startAttribute' => 'stime',
            'endAttribute' => 'etime',
            'presetDropdown' => true,
            
            'pluginOptions' => [
                'stime'=>$stime,
                'etime'=>$etime,
               'timePickerIncrement' => 30,
               'maxDate' => date('Y-m-d', time()),
               'locale' => [
                   'applyLabel' => '确认',
                   'cancelLabel' => '取消',
                   'format' => 'Y-m-d'
               ]
            ],
            'options' => [
                'value'=>$ctime,
                'style'=>'width:250px',
            ],      
    ]);?>

效果图
‘startAttribute’ => ‘stime’,
‘endAttribute’ => ‘etime’,
这里的stime和etime需要在searchModel中声明一下
public $stime;
public e t i m e ; 然 后 是 区 间 查 询 i f ( etime; 然后是区间查询 if(etime;if(this->stime){
s t i m e = s t r t o t i m e ( stime = strtotime(stime=strtotime(this->stime.‘00:00:00’);
e t i m e = s t r t o t i m e ( etime = strtotime(etime=strtotime(this->etime.‘23:59:59’);
$query->andFilterWhere([‘between’, ‘ctime’, $stime, $etime]);
}
到这里就可以查询出时间段里的数据了,但是查询完之后,查询选择的时间提交没有显示出来。
需要在控制器index方法中将查询的数据渲染
在这里插入图片描述这样就可以了,效果如下
在这里插入图片描述

参考:https://www.yiichina.com/tutorial/1108


版权声明:本文为weixin_41987365原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。