2016-06-24 146 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(),如果它是一个字符串,那么检查字符串是否为空就够了。