笔记 · · 471 阅读

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

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

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

[![](http://images.lmyperson.com/FpSQmJkXGHAjo-JLQcn6rlw9AHgZ?imageView2/0/q/75|watermark/2/text/QOaFlee8mOWwj-agiCBsbXlwZXJzb24=/font/5qW35L2T/fontsize/400/fill/IzJDMTBGQw==/dissolve/100/gravity/SouthEast/dx/10/dy/10|imageslim)](http://images.lmyperson.com/FpSQmJkXGHAjo-JLQcn6rlw9AHgZ)[![](http://images.lmyperson.com/FrsO-zy_hABdMIXllL93AqjOKxHv?imageView2/0/q/75|watermark/2/text/QOaFlee8mOWwj-agiCBsbXlwZXJzb24=/font/5qW35L2T/fontsize/400/fill/IzJDMTBGQw==/dissolve/100/gravity/SouthEast/dx/10/dy/10|imageslim)](http://images.lmyperson.com/FrsO-zy_hABdMIXllL93AqjOKxHv)

操作步骤:

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~

0 评论

评论

还没有评论,来说两句吧