From 055874999a8264df573313b69a8045075d65530c Mon Sep 17 00:00:00 2001 From: "iVampireSP.com" Date: Wed, 28 Dec 2022 21:51:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=94=9F=E6=97=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/IndexController.php | 15 +++++++++++++-- ...2_28_212017_add_birthday_at_to_users_table.php | 2 +- routes/api.php | 5 ++--- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/Api/IndexController.php b/app/Http/Controllers/Api/IndexController.php index c75a566..d34ac78 100644 --- a/app/Http/Controllers/Api/IndexController.php +++ b/app/Http/Controllers/Api/IndexController.php @@ -3,15 +3,26 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; +use App\Models\User; use Illuminate\Http\JsonResponse; class IndexController extends Controller { // - public function __invoke(): JsonResponse + public function index(): JsonResponse { return $this->success([ - 'message' => 'Welcome to LaeCloud API Server', + 'message' => 'Welcome to LaeCloud API Server.', ]); } + + public function birthdays(): JsonResponse + { + // 获取今天过生日的用户,每页显示 20 个,使用 carbon + $users = User::whereMonth('birthday_at', now()->month) + ->whereDay('birthday_at', now()->day) + ->simplePaginate(20); + + return $this->success($users); + } } diff --git a/database/migrations/2022_12_28_212017_add_birthday_at_to_users_table.php b/database/migrations/2022_12_28_212017_add_birthday_at_to_users_table.php index 2f83a20..905fbb5 100644 --- a/database/migrations/2022_12_28_212017_add_birthday_at_to_users_table.php +++ b/database/migrations/2022_12_28_212017_add_birthday_at_to_users_table.php @@ -13,7 +13,7 @@ public function up() { Schema::table('users', function (Blueprint $table) { - $table->date('birthday_at')->nullable()->after('email_verified_at'); + $table->date('birthday_at')->nullable()->index()->after('email_verified_at'); // 真实姓名 $table->string('real_name')->nullable()->after('name'); diff --git a/routes/api.php b/routes/api.php index 8250cad..bf567ad 100644 --- a/routes/api.php +++ b/routes/api.php @@ -11,7 +11,8 @@ use App\Http\Controllers\Api\WorkOrderController; use Illuminate\Support\Facades\Route; -Route::get('/', IndexController::class)->withoutMiddleware('auth:sanctum'); +Route::get('/', [IndexController::class, 'index'])->withoutMiddleware('auth:sanctum'); +Route::get('/birthdays', [IndexController::class, 'birthdays']); Route::get('user', [UserController::class, 'index']); Route::get('users', [UserController::class, 'index']); @@ -28,11 +29,9 @@ Route::get('hosts/usages', [HostController::class, 'usages']); Route::apiResource('hosts', HostController::class); - Route::apiResource('work-orders', WorkOrderController::class)->only(['index', 'store', 'show', 'update']); Route::apiResource('work-orders.replies', ReplyController::class)->only(['index', 'store']); Route::any('modules/{module}/{path?}', [ModuleController::class, 'call']) ->where('path', '.*'); -