ConsumeController.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace App\Http\Controllers\V1\User;
  3. use App\Http\Controllers\V1\Controller;
  4. use App\Models\UserConsumeRecord;
  5. use App\Models\UserEpisodesRecord;
  6. use App\Models\UserWatchRecord;
  7. use Carbon\Carbon;
  8. use Dingo\Api\Http\Request;
  9. use Illuminate\Database\Eloquent\Builder;
  10. class ConsumeController extends Controller
  11. {
  12. public function record(Request $request)
  13. {
  14. $date = $request->input('date');
  15. $date= $date??Carbon::now()->format('Y-m');
  16. $lists = UserEpisodesRecord::filterUser()
  17. ->when($date,function ($query,$date){
  18. /* @var Builder $query*/
  19. return $query->where('created_at', 'like', "$date%");
  20. })
  21. ->with(['detail.episode'])
  22. ->orderByDesc('id')->get();
  23. foreach ($lists as $list){
  24. $count = $list->detail->episode->withCount('lists')->first()->toArray();
  25. $list->detail->episode->total = $count['lists_count'];
  26. $list->detail->episode->status_text = $list->detail->episode->status;
  27. }
  28. return $this->success($lists);
  29. }
  30. }