簡體   English   中英

預約系統查詢邏輯錯誤

[英]Logical error in the query of the booking system

我的預訂系統的邏輯出現了故障。 我有一個房間可以租。

我的數據庫有以下預訂測試條目: 在此處輸入圖像描述

現在有人想從 15.06 到 17.06 預訂房間,但 17.06 已經預訂了。

我想到了類似的東西

SELECT * FROM reservation WHERE resDate >= "2020-06-15" AND depDate <= "2020-06-17"

我對 Doctrine 的查詢看起來像

        return $this->createQueryBuilder('s')
            ->where('s.resDate >= :startdate')
            ->andWhere('s.depDate <= :enddate')
            ->setParameter('startdate', $startdate)
            ->setParameter('enddate', $enddate)
            ->getQuery()
            ->getOneOrNullResult()
            ;

不知何故,我找不到相應的邏輯,查詢告訴我它沒有找到條目並且輸入的時間段是免費的。 我究竟做錯了什么?

您的預訂從 17 日開始,因此從 15 日到 17 日仍然可以免費預訂。

因此,您的邏輯應該是在 16 日的 1 天以內查詢數據庫,因為結帳將在 17 日完成。

通常當預訂發生在 15 日至 17 日時,這意味着客人已支付 15 日、16 日和 17 日的費用,並將在 18 日早上退房。 這就是為什么您會在酒店預訂中看到 3 晚和 5 晚住宿。 但在你解釋的情況下。 好像您在 2 個地方計算同一天。

無論哪種方式,您都必須首先改變客戶嘗試預訂房間的方式,否則粗略的修復將無法正常工作,並且稍后會造成其他混亂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM