Selam. Bir araç rezervasyon sistemi üzerinde çalışıyorum.
Araçların müsaitlik günlerini ve o günlerin fiyatlarını veritabanında şu şekilde saklıyorum;
Şu şekilde de o araca ait müsaitlik günlerini ve arasında kalan günlerini $dates değişgenine atıyorum.
@php
$dates = [];
foreach ($vehicle->availabilityCalendar as $record) {
$start_date = $record->start_date;
$end_date = $record->end_date;
$dates_range = [];
$date = new DateTime($start_date);
$end_date = new DateTime($end_date);
while ($date <= $end_date) {
$dates_range[] = $date->format('Y-m-d');
$date->modify('+1 day');
}
$dates = array_merge($dates, $dates_range);
}
@endphp
Daha sonra flatpickr scriptini şu şekilde hazırlayıp, sadece müsait olunan günlerin enable olmasını sağlıyorum:
$('.flatpickr2').flatpickr({
dateFormat: "Y-m-d",
enable: {!! json_encode($dates) !!}
});
Çıktı şu şekilde oluyor:
Daha sonra flatpickr scriptin onDayCreate fonksiyonu ile günlerin altına 100 ₺ yazdırıyorum:
$('.flatpickr3').flatpickr({
onDayCreate: function(dObj, dStr, fp, dayElem) {
dayElem.innerHTML += '<div class="price-label">@money(100, 'TRY', true)</div>';
},
dateFormat: "Y-m-d",
enable: {!! json_encode($dates) !!},
inline: true
});
Çıktı şu şekilde oluyor:
Ben istiyorum ki sadece müsait olduğu tarihlerin altında o güne ait yazsın. Örneğin: 2022-12-15 ile 2022-12-30 arasında veritabanındaki price değeri 100 ₺ ise o tarihlerin altında 100 ₺ yazsın.
Bunu nasıl yapabilirim?