where($params['where']); } else { $search = $params['search']; if (!empty($search['status'])) { $this->where('status', '=', $search['status']); } if (!empty($search['type'])) { $this->where('type', '=', $search['type']); } if (!empty($search['title'])) { $this->where('title', 'LIKE', '%' . $search['title'] . '%'); } if (!empty($search['desc'])) { $this->where('desc', 'LIKE', '%' . $search['desc'] . '%'); } if (!empty($search['content'])) { $this->where('content', 'LIKE', '%' . $search['content'] . '%'); } // 时间范围查询 if (!empty($search['dateTime'])) { $startTime = strtotime($search['dateTime'][0]); $endTime = strtotime($search['dateTime'][1]); $this->where("create_time BETWEEN {$startTime} AND {$endTime}"); } } // 排序 $order = !empty($params['order']) ? $params['order'] : 'id DESC'; $result = $this ->field($fields) ->order($order) ->paginate($rows, false, [ 'page' => $page ]); $arr = [ 'list' => [], 'total' => 0, 'page' => 1, 'pageSize' => $rows, 'totalSize' => 0 ]; // 格式化数据信息 if (!$result->isEmpty()) { $arr = [ 'list' => $result->items(), 'total' => $result->total(), 'page' => $result->currentPage(), 'pageSize' => $result->listRows(), 'totalSize' => $result->lastPage() ]; } return $arr; } /** * 添加 * @param $data * @return bool|int|string */ public function add($data) { if (empty($data) || !is_array($data)) { $this->error = '参数不正确'; return false; } return $this->transaction(function () use ($data) { $id = $this->insertGetId($data); return $id; }); } /** * 获取某条记录 * @param $where * @return array|bool|false|\PDOStatement|string|Model * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public function getItem($where, $fields = '*') { if (empty($where)) { $this->error = '参数不正确。'; return false; } if (floor($where) > 0) { $where = ['id' => $where]; } return $this->where($where)->field($fields)->find(); } /** * 编辑 * @param $data * @return bool */ public function edit($data) { if (empty($data) || !is_array($data)) { $this->error = '参数不正确'; return false; } return $this->transaction(function () use ($data) { $res = $this->update($data); return $res; }); } // 删除 public function del($id) { if (empty($id)) { $this->error = '参数不正确'; return false; } return $this->transaction(function () use ($id) { return $this->where(['id' => $id])->delete(); }); } }