嗨我在laravel应用程序中有一个包含Tasks的表。我想从今天开始删除任务两天以上的任务。
我有写作功能:
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();
}
这个解决方案不起作用。以这种方式删除对象是否正确?我的意思是在select with query builder之后删除,使用persist和flush方法删除表中的每个简单记录?这在我的代码中不起作用。我很乐意帮忙。最好的问候;)
答案 0 :(得分:1)
您的代码中没有删除方法。在你的同花顺之前,尝试添加$ this-> entityManager-> remove($ result);