THINKPHP6 collect的使用,这么多年竟然没咋用过~~~
<?php namespace app\controller; use think\facade\Db; use think\Collection; class UserController { public function index() { // 1. 查询数据库获取所有用户数据 $users = Db::name('user')->select(); // 2. 将查询结果封装为 Collection $collection = collection($users); // 3. 过滤:只保留性别为 female 的用户 $femaleUsers = $collection->filter(function ($user) { return $user['gender'] === 'female'; }); // 4. 排序:按年龄升序排列 $sortedUsers = $femaleUsers->sortBy('age'); // 5. 提取字段:只保留 name 和 age 字段 $result = $sortedUsers->map(function ($user) { return [ 'name' => $user['name'], 'age' => $user['age'] ]; }); // 6. 输出 JSON 响应 return json([ 'code' => 200, 'message' => '成功获取女性用户列表', 'data' => $result->values()->toArray() ]); } }
滴水成冰,世间不存在毫无意义的付出,时间终会给你答案。