選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

50 行
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. }