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