refactor(zy): 修复分页查询错误问题
This commit is contained in:
@@ -47,22 +47,17 @@ class Activity extends Base
|
||||
} else {
|
||||
$query->where('pid', 0);
|
||||
}
|
||||
if (isset($params['page'])) {
|
||||
$pageSize = intval($params['pageSize'] ?? 10);
|
||||
$offeset = (intval($params['page']) - 1) * $pageSize;
|
||||
$query->limit($offeset, $pageSize);
|
||||
}
|
||||
$res = $query->select();
|
||||
foreach ($res as &$v) {
|
||||
$res = $query->paginate($params['pageSize'] ?? 10);
|
||||
$list = $res->items();
|
||||
foreach ($list as &$v) {
|
||||
$v['public_time'] = json_decode($v['public_time'] ?? '[]', true);
|
||||
$v['join_start_time'] = json_decode($v['join_start_time'] ?? '[]', true);
|
||||
$v['join_end_time'] = json_decode($v['join_end_time'] ?? '[]', true);
|
||||
$v['quit_time'] = json_decode($v['quit_time'] ?? '[]', true);
|
||||
$v['cost'] = json_decode($v['cost'] ?? '[]', true);
|
||||
$v['referee'] = explode(',', $v['referee']);
|
||||
$v['referee'] = explode(',', $v['referee'] ?? '');
|
||||
}
|
||||
|
||||
$this->success('Success', ['list' => $res, 'count' => $query->count()]);
|
||||
$this->success('Success', ['list' => $list, 'count' => $res->total()]);
|
||||
}
|
||||
|
||||
public function view()
|
||||
@@ -77,11 +72,61 @@ class Activity extends Base
|
||||
$model['join_end_time'] = json_decode($model['join_end_time'] ?? '[]', true);
|
||||
$model['quit_time'] = json_decode($model['quit_time'] ?? '[]', true);
|
||||
$model['cost'] = json_decode($model['cost'] ?? '[]', true);
|
||||
$model['referee'] = explode(',', $model['referee']);
|
||||
$model['referee'] = explode(',', $model['referee'] ?? '');
|
||||
|
||||
$this->success('Success', $model);
|
||||
}
|
||||
|
||||
public function add()
|
||||
{
|
||||
$result = false;
|
||||
$params = $this->request->param();
|
||||
$params['public_time'] = json_encode($params['public_time'] ?? []);
|
||||
$params['join_start_time'] = json_encode($params['join_start_time'] ?? []);
|
||||
$params['join_end_time'] = json_encode($params['join_end_time'] ?? []);
|
||||
$params['quit_time'] = json_encode($params['quit_time'] ?? []);
|
||||
$params['cost'] = json_encode($params['cost'] ?? []);
|
||||
Db::startTrans();
|
||||
try {
|
||||
$result = $this->model->allowField(true)->save($params);
|
||||
Db::commit();
|
||||
} catch (ValidateException | PDOException | Exception $e) {
|
||||
Db::rollback();
|
||||
$this->error($e->getMessage());
|
||||
}
|
||||
if ($result === false) {
|
||||
$this->error('操作失败');
|
||||
}
|
||||
$this->success('Success');
|
||||
}
|
||||
|
||||
public function update()
|
||||
{
|
||||
$result = false;
|
||||
$params = $this->request->param();
|
||||
$model = $this->model->get($params['id']);
|
||||
if (empty($model)) {
|
||||
$this->error(__('No rows were found'));
|
||||
}
|
||||
$params['public_time'] = json_encode($params['public_time'] ?? []);
|
||||
$params['join_start_time'] = json_encode($params['join_start_time'] ?? []);
|
||||
$params['join_end_time'] = json_encode($params['join_end_time'] ?? []);
|
||||
$params['quit_time'] = json_encode($params['quit_time'] ?? []);
|
||||
$params['cost'] = json_encode($params['cost'] ?? []);
|
||||
Db::startTrans();
|
||||
try {
|
||||
$result = $model->allowField(true)->save($params);
|
||||
Db::commit();
|
||||
} catch (ValidateException | PDOException | Exception $e) {
|
||||
Db::rollback();
|
||||
$this->error($e->getMessage());
|
||||
}
|
||||
if ($result === false) {
|
||||
$this->error('操作失败');
|
||||
}
|
||||
$this->success('Success');
|
||||
}
|
||||
|
||||
// 启动周期性活动创建比赛任务
|
||||
public function test()
|
||||
{
|
||||
|
||||
@@ -54,19 +54,14 @@ class Circle extends Base
|
||||
$friend = Relation::where('user_id', $this->auth->id)->where('status', 'IN', explode(',', $params['friend']))->column('target_id');
|
||||
$query->where('c.user_id', 'IN', $friend);
|
||||
}
|
||||
if (isset($params['page'])) {
|
||||
$pageSize = intval($params['pageSize'] ?? 10);
|
||||
$offeset = (intval($params['page']) - 1) * $pageSize;
|
||||
$query->limit($offeset, $pageSize);
|
||||
}
|
||||
$res = $query->select();
|
||||
foreach ($res as &$r) {
|
||||
$res = $query->paginate($params['pageSize'] ?? 10);
|
||||
$list = $res->items();
|
||||
foreach ($list as &$r) {
|
||||
$r['likes'] = json_decode($r['likes'], true);
|
||||
if (count($r['likes']) == 1 && empty($r['likes'][0]['id'])) $r['likes'] = [];
|
||||
$r['comment'] = buildTree(json_decode($r['comment'], true));
|
||||
}
|
||||
|
||||
$this->success('Success', ['list' => $res, 'count' => $query->count()]);
|
||||
$this->success('Success', ['list' => $list, 'count' => $res->total()]);
|
||||
}
|
||||
|
||||
public function view()
|
||||
|
||||
@@ -33,14 +33,8 @@ class Club extends Base
|
||||
if (isset($params['gym_id'])) {
|
||||
$query->where('c.gym_id', $params['gym_id']);
|
||||
}
|
||||
if (isset($params['page'])) {
|
||||
$pageSize = intval($params['pageSize'] ?? 10);
|
||||
$offeset = (intval($params['page']) - 1) * $pageSize;
|
||||
$query->limit($offeset, $pageSize);
|
||||
}
|
||||
$res = $query->select();
|
||||
|
||||
$this->success('Success', ['list' => $res, 'count' => $query->count()]);
|
||||
$res = $query->paginate($params['pageSize'] ?? 10);
|
||||
$this->success('Success', ['list' => $res->items(), 'count' => $res->total()]);
|
||||
}
|
||||
|
||||
public function add()
|
||||
|
||||
@@ -45,13 +45,12 @@ class Game extends Base
|
||||
$offeset = (intval($params['page']) - 1) * $pageSize;
|
||||
$query->limit($offeset, $pageSize);
|
||||
}
|
||||
$res = $query->select();
|
||||
foreach ($res as &$v) {
|
||||
$res = $query->paginate($params['pageSize'] ?? 10);
|
||||
$list = $res->items();
|
||||
foreach ($list as &$v) {
|
||||
$v['cost'] = json_decode($v['cost'] ?? '[]', true);
|
||||
$v['referee'] = explode(',', $v['referee']);
|
||||
}
|
||||
|
||||
$this->success('Success', ['list' => $res, 'count' => $query->count()]);
|
||||
$this->success('Success', ['list' => $list, 'count' => $res->total()]);
|
||||
}
|
||||
|
||||
public function view()
|
||||
|
||||
@@ -21,14 +21,7 @@ class Gym extends Base
|
||||
if (isset($params['name'])) {
|
||||
$query->where('name', 'like', '%' . $params['name'] . '%');
|
||||
}
|
||||
if (isset($params['page'])) {
|
||||
$pageSize = intval($params['pageSize'] ?? 10);
|
||||
$offeset = (intval($params['page']) - 1) * $pageSize;
|
||||
$query->limit($offeset, $pageSize);
|
||||
}
|
||||
$res = $query->select();
|
||||
|
||||
|
||||
$this->success('Success', ['list' => $res, 'count' => $query->count()]);
|
||||
$res = $query->paginate($params['pageSize'] ?? 10);
|
||||
$this->success('Success', ['list' => $res->items(), 'count' => $res->total()]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user