You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 satır
1.2KB

  1. <?php
  2. namespace App\Http\Controllers\Web\FAQ;
  3. use App\Http\Controllers\Web\WebController;
  4. use App\Kintone\KintoneRecordQueryOperator;
  5. use App\Kintone\Models\FAQ;
  6. use App\Util\DateUtil;
  7. use Illuminate\Http\JsonResponse;
  8. use Illuminate\Http\Request;
  9. class FAQsController extends WebController
  10. {
  11. public function name(): string
  12. {
  13. return "FAQ一覧取得";
  14. }
  15. public function description(): string
  16. {
  17. return "FAQ一覧を取得する";
  18. }
  19. public function __construct(protected FAQsParam $param)
  20. {
  21. parent::__construct();
  22. $this->middleware('auth:sanctum');
  23. }
  24. protected function run(Request $request): JsonResponse
  25. {
  26. $nowStr = DateUtil::now()->format('Y-m-d');
  27. $query = FAQ::getQuery()
  28. ->where(FAQ::FIELD_SHOW_START_DATE, $nowStr, KintoneRecordQueryOperator::LE)
  29. ->where(FAQ::FIELD_SHOW_END_DATE, $nowStr, KintoneRecordQueryOperator::GE)
  30. ->orderByDesc(FAQ::FIELD_GENRE);
  31. $list = FAQ::getAccess()->some($query);
  32. $result = [];
  33. foreach ($list as $ele) {
  34. $result[] = $ele->toArray();
  35. }
  36. return $this->successResponse($result);
  37. }
  38. }