dataRange() ->catchSearch() ->append(['alarm_type_name','alarm_time_str','realname','sent_result']) ->order($this->aliasField('id'), 'desc') ->paginate(); } /** * 详情 */ public function getDetail($id) { // 告警信息 $alarm_info = $this->where('id', $id) ->append(['alarm_type_name','realname']) ->findOrEmpty(); if ($alarm_info->isEmpty()) { return []; } return $alarm_info; } /** * 总增长趋势 */ public function getTotalGrowthCountByDate($date) { return $this->dataRange() ->field('alarm_type,count(*) as count') ->catchSearch() ->whereBetweenTime('alarm_time', 0, $date .' 23:59:59') ->group('alarm_type') ->select(); } /** * 学号 */ public function searchDeviceNumberAttr($query, $value, $data) { return $query->where('device_number', 'like', '%'. $value . '%'); } /** * 学校 */ public function searchIsReadAttr($query, $value, $data) { return $query->where('is_read', $value); } /** * 围栏id */ public function searchFenceIdAttr($query, $value, $data) { return $query->where('fence_id', $value); } /** * 告警类型 */ public function searchAlarmTypeAttr($query, $value, $data) { return $query->where('alarm_type', $value); } }