删除日期与今天两天的差异 - 学说,QueryBuilder

问题描述:

嗨我有一个表中的任务在我的laravel应用程序。我想从今天起删除两天以外的任务。删除日期与今天两天的差异 - 学说,QueryBuilder

我已经writtern功能:

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从表中删除每个简单记录?这不适用于我的代码。我会很乐意帮忙的。最好的问候;)

你的代码中没有删除方法。在你的flush之前,尝试添加$ this-> entityManager-> remove($ result);