راکت

جستجوی رزرواسیون بر اساس فاصله بین 2 تاریخ

5 پاسخ

سلام دوستان
واسه یه سایت رزرواسیون قرار یه آپشن جستجویی قرار داده بشه که به اینصورته:
-تاریخ شروع و پایان مورد نظر کاربر رو واسه رزرو میگیریم.
-ساختار دیتابیس هم به اینصورته که که یک جدول واسه رزروها هست که در آن تاریخ شروع و پایان رزروهای انجام شده ذخیره میشه.مثلا ممکنه یک ویلا چندین سطر داشته باشه و هر سطر مربوط به یک رزرو و کاربر هستش و هر کدوم تاریخ شروع و پایانی داره.حالا مشکل اینجاست که جستجو باید به چه شکل انجام بشه که فقط ویلاهایی رو برگردونم که در اون بازه تاریخ دریافتی از کاربر،رزروی نداشته باشند؟؟
چه روالی رو طی کنم که نتیجه درستی دریافت کنم؟
نمونه ای از جدول رزروها:
توضیح تصویر رو وارد کنید
مثلا کاربری بازه زیر رو وارد میکنه واسه سرچ:
1400/1/10 تا 1400/1/14
ویلاهایی باید برگشت داده بشن که این بازه شون خالیه و میشه رزرو کرد...
خیلی ممنون

@ali.bayat
@milad
@AliValinejad
@mhyeganeh
@Rp76
@juza66
@mehdi.shahabbasian

ثبت پرسش جدید

پاسخ‌ها

5
رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

سلام وقتتون بخیر!

$query->whereBetween('age', [$ageFrom, $ageTo]);

میشه از این قابلیت استفاده کرد.

البته این چیزی که میخوای پیچیده تره
۲ تا شرط میخواد یکی برای start و دیگری end

json
json
@JSON

تخصص: آزاد

@Rp76
متاسفانه این چیزی که شما گفتین واسه این مورد کارساز نیست.
چون اینی که شما میگین اونایی رو برمیگردونه که مابین اون دو تا تاریخ هست.
ولی من میخوام بین اون دو تا تاریخ نباشه و چیزی که پیجیده ش کرده اینه که ممکنه چندین رزرو یا سطر برای هر ویلا داشته باشم که باید با همه مقایسه بشه اون تاریخ درخواستی کاربر.

شاید پاسخ شما همین‌جا باشد

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

با توجه به ساختاری که انتخاب کردی.. موقع رزرو باید حتما چک کنی که اون بازه زمانی خالی باشه

و برای کوئری زمانهای خالی هم میتونی از متد whereNotBetween استفاده کنی

json
json
@JSON

تخصص: آزاد

ساختار بهینه ای هستش بنظرتون؟ @ali.bayat
چون فرض کنید هر بار که یه کاربر یه جستجویی انجام میده باید هربار با همه مقایسه ش کنم...البته دیتا رو صفحه بندی هم میکنم و خیلی محدودش میکنم که زیاد سرور درگیر نشه.

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

روش های مختلف کار با دیتابیس هر کدوم مزایا و معایب خودشون رو دارند
باید با حجم بالایی از داده های فیک امتحان کنی و کوئری بزنی و زمان ها رو بسنجی .. ببینی بهینه هست یا نه

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

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