Skip to content

Commit c00fe83

Browse files
committed
feat(user): 增加根据用户名获取用户资料
1 parent aa020ec commit c00fe83

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

app/Http/Controllers/APIs/V2/UserController.php

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,24 @@ public function index(Request $request, ResponseFactoryContract $response, User
4949
$order = in_array($order = $request->query('order', 'desc'), ['asc', 'desc']) ? $order : 'desc';
5050
$since = $request->query('since', false);
5151
$name = $request->query('name', false);
52-
53-
$users = $model->when($since, function ($query) use ($since, $order) {
54-
return $query->where('id', $order === 'asc' ? '>' : '<', $since);
55-
})->when($name, function ($query) use ($name) {
56-
return $query->where('name', 'like', sprintf('%%%s%%', $name));
57-
})->when(! empty($ids), function ($query) use ($ids) {
58-
return $query->whereIn('id', $ids)->withTrashed();
59-
})->limit($limit)
60-
->orderby('id', $order)
61-
->get();
52+
$fetchBy = $request->query('fetch_by', 'id');
53+
54+
$users = $model
55+
->when($since, function ($query) use ($since, $order) {
56+
return $query->where('id', $order === 'asc' ? '>' : '<', $since);
57+
})
58+
->when($name && $fetchBy !== 'username', function ($query) use ($name) {
59+
return $query->where('name', 'like', sprintf('%%%s%%', $name));
60+
})
61+
->when(! empty($ids) && $fetchBy === 'id', function ($query) use ($ids) {
62+
return $query->whereIn('id', $ids)->withTrashed();
63+
})
64+
->when($name && $fetchBy === 'username', function ($query) use ($name) {
65+
return $query->whereIn('name', array_filter(explode(',', $name)));
66+
})
67+
->limit($limit)
68+
->orderby('id', $order)
69+
->get();
6270

6371
return $response->json($model->getConnection()->transaction(function () use ($users, $user) {
6472
return $users->map(function (User $item) use ($user) {

0 commit comments

Comments
 (0)