Yii2 自定义搜索框 – 下拉选择

发表于


遇到这样一个需求,根据当前打开页面时间减去数据更新时间,如果大于3分钟,显示离线,其余为正常

操作步骤:

1.在模型中

    public $is_off; // 定义要操作的字段,非数据库字段

 public function rules(){

}

中将

'is_off'

加入进去

2.在控制器

       $is_off = 0;
        if (isset(Yii::$app->request->queryParams['SearchModel'])) {
            $SearchModel = Yii::$app->request->queryParams['SearchModel'];
            unset($SearchModel['is_off']);
            $queryParams['SearchModel'] = $SearchModel;
            $is_off = Yii::$app->request->queryParams['SearchModel']['is_off'];
        }
       // 省略部分代码
       ......
        if($is_off){
            $searchModel->is_off = $is_off;
        }

3.在页面

[
    'label'=>'是否离线',
    'value'=>function($model){
        if(time() - $model->updated_at > 60 * 3){
            return '离线';
        }
        return '正常';
    },
    'filter' => Html::activeDropDownList($searchModel, 'is_off',[1=>'正常',2=>'离线'], [
            'prompt' => '全部',
            'class' => 'form-control'
        ]
    ),
],

OK~

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注