(Привет),
Мне нужно найти все мои объекты за дату, отформатированную в (мм-гггг), проблема в том, что отформатированная дата - это строка, и я не могу сравнить объекты и строки dateTime.
Не удалось преобразовать значение PHP '03 -2019 'типа' string 'в тип' datetime '. Ожидается один из следующих типов: null, DateTime
Я покажу вам свой код:
/**
* @Route("/month/{date}", name="monthly_resume", methods={"GET"})
* @param RentReleaseRepository $rentReleaseRepository
* @param $date
* @return Response
*/
public function monthlyCalcul(RentReleaseRepository $rentReleaseRepository, $date)
{
if (substr($date, 0, 7) === 'Janvier') {
$date = str_replace('01-', 'Janvier ', $date);
} elseif (substr($date, 0, 7) === 'Février') {
$date = str_replace('02-', 'Février ', $date);
} elseif (substr($date, 0, 4) === 'Mars') {
$date = str_replace('03-', 'Mars ', $date);
} elseif (substr($date, 0, 5) === 'Avril') {
$date = str_replace('04-', 'Avril ', $date);
} elseif (substr($date, 0, 3) === 'Mai') {
$date = str_replace('05-', 'Mai ', $date);
} elseif (substr($date, 0, 4) === 'Juin') {
$date = str_replace('06-', 'Juin ', $date);
} elseif (substr($date, 0, 7) === 'Juillet') {
$date = str_replace('07-', 'Juillet ', $date);
} elseif (substr($date, 0, 4) === 'Août') {
$date = str_replace('08-', 'Août ', $date);
} elseif (substr($date, 0, 9) === 'Septembre') {
$date = str_replace('09-', 'Septembre ', $date);
} elseif (substr($date, 0, 7) === 'Octobre') {
$date = str_replace('10-', 'Octobre ', $date);
} elseif (substr($date, 0, 7) === 'Novembre') {
$date = str_replace('110-', 'Novembre ', $date);
} elseif (substr($date, 0, 8) === 'Décembre') {
$date = str_replace('12-', 'Décembre ', $date);
} else {
throw new LogicException('OK ... So ... There is a problem');
}
$currentDate = new \DateTime();
$currentDate = $currentDate->format('m-Y');
$rentRelease = $rentReleaseRepository->findBy(
[
'userRentRelease' => $this->getUser(),
'date' => $currentDate, // the problem is here
]
);
//TODO calcul algorithm
return $this->render('resume_page/month.html.twig', [
'date' => $date
]);
}
Для создания моей даты я сделал это:
$rentRelease->setDate(new \DateTime());
Конечно, есть проблема с этой проблемой, но я понятия не имею, как ее решить ... Ваша помощь приветствуется:)