2016-06-24 190 views
0

我想從我的數據庫中刪除我的控制器上的任何空文本字段。刪除數組集合中的空元素或空元素

這裏是我的測試,我已經沒有任何問題進行:

   $em = $this->getDoctrine()->getManager(); 
      $listScrap = $em->getRepository('VPScraplistBundle:Scraplist')->find($id); 

     ...  


      $form = $this->createForm(new \VP\ScraplistBundle\Form\ScraplistType(), $listScrap); 


      if ($form->handleRequest($request)->isValid()) { 




       foreach ($listScrap->gethistoriques() as $historique) { 
        if ($historique->gethistorique()->isEmpty()) { 

        $listScrap->removeCategory($historique); 

        } 
       } 

$em->flush(); 
       $request->getSession()->getFlashBag()->add('notice', 'Index bien modifiée.'); 

... 

我還測試了:

if ($historique->gethistorique()->isEmpty()) { 

       $listScrap->removeCategory($historique);  

       } 

和:

if($historique->gethistorique()== ""){ 

       $listScrap->removeCategory($historique);  

       } 

沒有任何成功,對不起我的英語,謝謝!

回答

1

你需要堅持$list前沖洗他

$em->persit($listScrap);

0

如果方法$historique->gethistorique()返回字符串,你不能從它調用isEmpty()。我認爲在flush()之前沒有必要堅持$listScrap,因爲它的變化已經被教條追蹤,並且會在沖洗時保存。 我想你應該知道什麼確切返回你的方法$historique->gethistorique(),如果它是一個字符串,那麼檢查字符串是否爲空就夠了。