删除与今天相差两天的日期 - Doctrine,QueryBuilder

时间:2017-09-12 22:30:30

标签: php laravel doctrine-orm

嗨我在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方法删除表中的每个简单记录?这在我的代码中不起作用。我很乐意帮忙。最好的问候;)

1 个答案:

答案 0 :(得分:1)

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