get('dbXcrm'); } /** * @inheritdoc */ public function rules() { return [ [['admin_id', 'member_id', 'number']], [['memo', 'memo_obj', 'string']], ]; } /** * 日志列表数据 * @param array $post * @return array */ public function getList($post) { $result = ['code' => 0, 'data' => [], 'message' => '']; $order = isset($post['order']) ? strtolower($post['order']) : ''; $orderBy = isset($post['orderBy']) ? strtolower($post['orderBy']) : 'desc'; $search = isset($post['search']) ? $post['search'] : ''; $start = isset($post['start']) ? (int) $post['start'] : 0; $length = isset($post['length']) ? (int) $post['length'] : 20; $draw = isset($post['draw']) ? $post['draw'] : 1; $where = ['and']; // 搜索 if ($search) { $where[] = ['like', 'memo', $search]; } // 排序 $allowOrderColumn = ['id', 'admin_id', 'member_id', 'memo', 'memo_obj']; if (in_array($order, $allowOrderColumn) && in_array($orderBy, ['asc', 'desc'])) { if ($orderBy == 'asc') { $orderCondition = [$order => SORT_ASC]; } else { $orderCondition = [$order => SORT_DESC]; } } else { $orderCondition = ['id' => SORT_DESC]; } $query = static::find(); $query->where($where) ->orderBy($orderCondition); $count = $query->count(); $query->offset($start)->limit($length); $list = $query->asArray()->all(); $data['data'] = $list; $data['draw'] = $draw; $data['recordsFiltered'] = $count; $data['recordsTotal'] = $count; $result['data'] = $data; $result['code'] = 1; return $result; } }