удалить из базы данных ошибка после истечения срока действия

В моей базе данных есть много продуктов, которые имеют атрибут datecreated.
Я хочу удалить любой продукт через некоторое время, например, через 10 или 20 дней, когда обновлю свою домашнюю страницу.

Это мой контроллер:

public function indexAction()
{
$datenow = new \DateTimeImmutable();
$datenowStringType = $datenow->format('Y-m-d');

$em = $this->getDoctrine()->getManager();
$products = $em->getRepository('ProductBundle:Product')->findAll();

foreach ($products as $produit) {
$CreatedDate = $produit->getCreatedDate();
$CreatedDate_StringType = $CreatedDate->format('Y-m-d');

$duree = '+'.$produit->getDuree();
$date_fin_duree = date('Y-m-d', strtotime($CreatedDate_StringType.$duree));

if ( strtotime($datenowStringType)<strtotime($date_fin_duree) ) {
$em->remove($produit);
}
}
array_values($products);

return $this->render('product/index.html.twig', array(
'products' => $products,
));
}

Ошибки не возвращаются, но продукт не удален. Это может быть простая ошибка, но я много искал и думаю, что это недостаток концентрации.
Пожалуйста помоги?

0

Решение

$date = ''; // calculate your date here, it should be DateTime object
$qb = $em->createQueryBuilder();
$qb->delete('Product', 'p');
$qb->where('p.duree < :date');
$qb->setParameter('date', $date);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector