2017-09-12 6 views
0

こんにちは私は私のlaravelアプリケーションでタスクを持つテーブルを持っています。今日から2日以上経過している仕事を削除したい。今日から2日の差分を取って日付を削除する - Doctrine、QueryBuilder

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(); 


    } 

このソリューションdosen't作業:

私はwrittern機能をしました。この方法でオブジェクトを削除するのは正しいですか?私は、メソッドを使用して、クエリビルダで選択した後に削除することを意味し、テーブルからすべての単純なレコードを削除するためにフラッシュ?これは私のコードで動作しません。私は大歓迎です。お待ちください)

答えて

1

あなたのコードには削除方法はありません。フラッシュする前に、$ this-> entityManager-> remove($ result);を追加してください。

関連する問題