guessing-miniprogram/app/Http/Controllers/Api/ActivityGameController.php

40 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers\Api;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use App\Models\Activity;
use App\Http\Resources\Api\ActivityGameResource;
class ActivityGameController extends ApiController
{
public function latestGame(Request $request)
{
//获取最新的活动;
$activity = Activity::show()->sort()->first();
$game = $activity?->games()->show()
->whereDate('game_at', now())
->where('game_at', '>', now())
->where('state', 1)
->orderBy('game_at', 'asc')->first();
//若已经没有最新的活动了, 则拿取当天最后一个
if(!$game){
$activity?->games()->show()
->whereDate('game_at', now())
->orderBy('game_at', 'desc')->first();
}
if($game){
$game->load(['logs'=> function($q){
$q->where('user_id', auth('api')->user()?->id ?? 0);
}]);
return ActivityGameResource::make($game);
}
return $this->success();
}
}