У меня есть одна таблица с именем Package. В настоящее время я хочу отфильтровать таблицу на самом деле. Допустим, пользователь вставляет значения в переменную, например, от = 2/3/2020 до = 10/3/2020. Затем он будет рассчитан внутри моей кодировки и получит продолжительность дней, в результате noOfdays = 8 дней. Таким образом, из продолжительности будет определено, к каким пакетам он принадлежит в течение 8 дней.
вычисление дней:
$today = Carbon::now();
$dt1 = Carbon::createFromFormat('d/m/Y',$departure);
$dt2 = Carbon::createFromFormat('d/m/Y',$arrival);
$noOfDays = $dt1->diffInDays($dt2);
Расчет не имеет ошибки, которая при dd ($ noOfDays) приведет к = 8 дням.
SQL оператор:
$packages = Package::where([
['id', '=', $plan],
['from', '<=', $noOfDays, 'AND', 'to', '>=', $noOfDays],
])
->get();
Таблица пакетов:
Часть ошибки: при фильтрации она получит Пакет 1 и пакет 2. Предполагается, что он получит только пакет 2. Я думаю, что-то не так где-то около оператора SQL. Кто-нибудь, кто в этой ситуации раньше? потому что логически я думаю, что часть SQL уже верна. Но зачем его фильтровать и получать пакет 1?