PHP での予約の重複状況を回避する
P粉517090748
2023-09-04 10:10:22
<p>ユーザーがエンターテイメント施設を予約できるアプリケーションを持っています。ユーザーは開始日 (05/05/2022) と終了日 (05/08/2022) を選択し、データベースを通じてデータを送信できます。 </p>
<p><em>しかし</em>、<strong>(質問)</strong>同じ施設を予約したいユーザーがいます。開始日 (05/03/2022) と終了日 (05/06/2022) を選択します。私の目標は、ユーザーが既存の予約日の間の終了日で施設を予約できないようにすることです。 </p>
<p><strong>(実装)</strong>開始日と終了日が既存の予約日の間にある場合、予約に必要なアメニティを無効にすることでこれを実現できます。 SQL クエリが完了しました: </p>
<pre class="brush:php;toolbar:false;">"SELECT * FROM 予約 WHERE 施設 = :facility AND :begDate BETWEEN begDate AND endDate AND :endDate BETWEEN begDate AND endDate";</pre>
<p><strong>ACHIEVED</strong> を処理する際に、クエリで <strong>ISSUE</strong> を処理するためのヒントは何ですか? </p>
次のロジックを使用して、新しい予約が既存の予約と重複するかどうかを確認できます:
リーリー施設と日付範囲を指定すると、クエリは、重複する時間範囲を持つ同じ予約の予約が既に存在するかどうかを確認します。 「問題のある」予約が返されるか、競合が存在しない場合は行が返されません。