احسان رضوی
3 سال پیش توسط احسان رضوی مطرح شد
1 پاسخ

نحوه‌ی کوئری برای ثبت و رزرو اتاق در لاراول

با سلام
من قصد دارم در یک سیستم رزرو اتاق ساده، در لاراول یک کوئری بزنم که به من نمایش بده که آیا اتاق در بازه زمانی انتخاب شده خالیست یا پُر که نسبت به اون، به کاربر اجازه رزرو بدم.
به این صورت که کاربر «تاریخ ورود»، «تاریخ خروج» و «اتاق» مورد نظر را انتخاب می‌کنه و من در جدولم اگر چنین رکوردی داشته باشم، طبیعتاً اجازه رزرو نخواهد داشت. در غیر اینصورت هم که رزرو آزاد است.
حالا کوئری‌ای که نوشتم به این صورته:

$exists = Reserve::select('room_number')
    ->where(function ($query) use ($from, $till) {
        $query->whereBetween('from', [$from, $till])
            ->orWhereBetween('till', [$from, $till]);
    })->orWhere(function ($query) use ($from, $till) {
        $query->where('from', '<=', $from)
            ->where('till', '>=', $till);
    })
    ->first();

حالا سؤالی که دارم آیا شرط‌های این کوئری کافی‌اند و نتیجه‌ی درستی رو در همه‌ی حالت‌ها به من می‌دن؟ (اگر اصلاحاتی باید داشته باشه لطفاً راهنمایی کنید)

@hesammousavi
@ali.bayat


ثبت پرسش جدید
میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 3 سال پیش مطرح شد
0

سلام خسته نباشید
از نظر من اوکیه اگه میخوای خیلی مطمن بشی یه تست نویسی براش انجام بده اوکی بود تمومه
@ehsan.in


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام