Привет у меня есть таблица с задачами в моем приложении Laravel. Я хотел бы удалить задачу, которая старше двух дней с сегодняшнего дня.
У меня есть функция:
public function deleteOldTasks(){
$results = $this->entityManager->createQueryBuilder()
->select('cc')->from('\TodoList\Http\Entities\Task', 'cc')
->getQuery()
->getResult();
$today = Carbon::today();
foreach ($results as $result){$tempDate = $result->getCreatedAt()->format('Y-m-d H:i:s');
$datework = new Carbon($tempDate);
$diff = $datework->diffInDays($today);
if($diff >= 2){
$this->entityManager->persist($result);
}
}
$this->entityManager->flush();}
Это решение не работает. Это правильно, чтобы удалить объект таким образом? Я имею в виду удалить после выбора с помощью построителя запросов, используя методы persist и flush, чтобы удалить все простые записи из таблицы? Это не работает в моем коде. Буду благодарен за помощь. С наилучшими пожеланиями 😉
В вашем коде нет метода удаления. Просто перед тем, как сделать сброс, попробуйте добавить $ this-> entityManager-> remove ($ result);
Других решений пока нет …