<?php namespace catchAdmin\alarm\model; use catcher\base\CatchModel as Model; use catchAdmin\permissions\model\DataRangScopeTrait; use catchAdmin\alarm\model\get\AlarmRecordsGet; class AlarmRecords extends Model { // 表名 public $name = 'alarm_records'; use DataRangScopeTrait; use AlarmRecordsGet; // 数据库字段映射 public $field = array( 'id', // 卡号 'device_number', // 告警原因 'alarm_reason', // 处理人ID 'handler_id', // 开始时间 'start_time', // 结束时间 'end_time', // 告警状态 'state', 'alarm_type', // 备注 'comment', // 处理结果 'result', // 创建人ID 'creator_id', // 创建时间 'created_at', // 更新时间 'updated_at', // 软删除 'deleted_at', ); public function getList() { return $this->dataRange() ->catchSearch() ->append(['result_text','end_time_text','start_time_text','device_name','reason_text']) ->order($this->aliasField('id'), 'desc') ->paginate(); } /** * 学号 */ public function searchRealnameAttr($query, $value, $data) { return $query->where('realname', 'like', '%'. $value . '%'); } /** * 学号 */ public function searchDeviceNumberAttr($query, $value, $data) { return $query->where('device_number', 'like', '%'. $value . '%'); } /** * 告警原因 */ public function searchAlarmReasonAttr($query, $value, $data) { return $query->where('alarm_reason', $value); } /** * 是否处理 */ public function searchIsHandleAttr($query, $value, $data) { if($value==0){ return $query->whereNull('end_time'); }elseif($value==1){ return $query->whereNotNull('end_time'); } } }