遇到这样一个需求,根据当前打开页面时间减去数据更新时间,如果大于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~

发表回复