実際のコード (PHP/JS) ではなく、ロジック/アルゴリズムに関係があるという質問があります。
1 週間以内に多数のイベントが発生するとします。各イベントのメタデータは DB に保存されます。(ワードプレス+イベントエスプレッソ)
つまり、イベント A、月曜日から金曜日の 8 時から 5 時まで。イベント B、火~金 11-4。等。
ユーザーは Web サイトにアクセスして、これらのイベントを購入できます。スケジュールが競合する少なくとも 2 つのイベントを購入できないようにする必要があります。
DBへの旅行はできるだけ避けたいです。チェックアウト時にショッピング カート内の競合するイベント ID を確認し、エラーをスローすることを誰かが提案しました。それは機能しますが、1 週間に約 12 のイベントがある場合はどうなりますか? 私は(12は2を選ぶ、それは66だと思う)ケース、最悪のケースに対処することはできません。
これを解決するための最も迅速で汚い方法は何ですか? というか、これを解決する良い方法は何ですか?
私は時間に追われているので、クライアント側のみのソリューションが今のところ受け入れられるかもしれません。
ありがとうございました!
編集: これはより良い質問かもしれません: 開始日/時刻と終了日/時刻で構成されるイベント メタデータのリストがあるとします。各イベントの競合をどのようにチェックしますか?
私はこの種の時間/スケジュールの競合チェックを行ったことがないので、あなたが心に留めていることが何であれ、発砲してください!
ありがとうございました!