Laravel Carbon Parse дает неверный вывод - PullRequest
0 голосов
/ 06 февраля 2019

Я работаю над проектом в области здравоохранения, в котором я должен установить будущие даты для инъекций пациентам.Врач выбирает дату начала инъекции, а затем выбирает 3 дня (т.е. понедельник, среда, пятница и т. Д.), Что означает, что пациент будет приходить 3 раза в неделю.

Всего 20 инъекций, которые делятся на 3 раза в неделю.Проблема, с которой я сталкиваюсь, заключается в том, что функция синтаксического анализа дает неверный результат, если врач выберет день, который соответствует сегодняшнему дню.Предположим, что сегодня среда, а дата 2019-02-06, и доктор выбрал 3 дня:

  • Пятница
  • Понедельник
  • Среда

Вывод должен быть: - 2019-02-08 - 2019-02-11 - 2019-02-13

Мой код для контроллера:

   if( $visitstart_date != null)
                   $startDate = Carbon::parse($visitstart_date);  
              else $startDate = Carbon::now(); 

             if($perweek_visit1_day != '')
             {  //Get date of selected day
                $perweek_visit1_dayDate = $startDate->parse($perweek_visit1_day);

            }
             if($perweek_visit2_day != '')
             {  //Get date of selected day
                $perweek_visit2_dayDate = $startDate->parse($perweek_visit2_day);

              }
             if($perweek_visit3_day != '')
             {  //Get date of selected day
                $perweek_visit3_dayDate = $startDate->parse($perweek_visit3_day);
             }

Но при сбрасывании 3-х значений это дает мне:

  • 2019-02-08
  • 2019-02-11
  • 2019-02-06 (неверно)

В целях тестирования я также анализирую дату следующего визита друг с другом, например:

if( $visitstart_date != null)
                   $startDate = Carbon::parse($visitstart_date);  
              else $startDate = Carbon::now(); 

             if($perweek_visit1_day != '')
             {  //Get date of selected day
                $perweek_visit1_dayDate = $startDate->parse($perweek_visit1_day);

            }
             if($perweek_visit2_day != '')
             {  //Get date of selected day
                $perweek_visit2_dayDate = $perweek_visit1_dayDate ->parse($perweek_visit2_day);

              }
             if($perweek_visit3_day != '')
             {  //Get date of selected day
                $perweek_visit3_dayDate = $perweek_visit2_dayDate ->parse($perweek_visit3_day);
             }

, но опять же выдает мне тот же результат, что и: - 2019-02-08 - 2019-02-11 - 2019-02-06

Я не знаю, где я иду не так, любая поддержка или помощь в этом отношении будут высоко оценены.Спасибо,

...