اذهب إلى المحتوى
  • 0

كيف نستعلم بين تاريخين باستخدام Laravel و Eloquent؟

Mahmoud Alrashidi

السؤال

أحاول إنشاء صفحة تقرير تعرض تقارير من تاريخ محدد إلى تاريخ محدد. هذا هو الكود الحالي الخاص بي:

$now = date('Y-m-d');
$reservations = Reservation::where('reservation_from', $now)->get();

ما يفعله هذا في لغة SQL العادية:

select * from table where reservation_from = $now

لكن ما أريده هو:

SELECT * FROM table WHERE reservation_from BETWEEN '$from' AND '$to

كيف يُمكنني عمل ذلك في لارافيل؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يُمكنك الحصول على تلك النتيجة بإستخدام الكود التالي:

$from = 
$to = 

Reservation::whereBetween('reservation_from', [$from, $to])->get();

أو:

$from = 
$to = 

$reservations = Reservation::whereRaw(
  "(reservation_from >= ? AND reservation_from <= ?)", 
  [$from, $to]
)->get();
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

تتحقق دالة whereBetween من أن قيمة العمود تقع بين قيمتين.

$from = date('2021-01-01');
$to = date('2021-03-02');

Reservation::whereBetween('reservation_from', [$from, $to])->get();

أو في بعض الحالات , تحتاج إلى إضافة نطاق زمني ديناميكيًا فيمكنك استخدام Carbon.

Reservation::all()->filter(function($item) {
  if (Carbon::now->between($item->from, $item->to) {
    return $item;
  }
});

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...