我想从我的数据库中删除控制器上的任何空文本字段。
以下是我的测试,我没有遇到任何问题:
$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);
}
没有任何成功,抱歉我的英文,谢谢!
答案 0 :(得分:1)
你需要在冲洗他之前坚持$em->persit($listScrap);
{{1}}
答案 1 :(得分:0)
如果方法$historique->gethistorique()
返回字符串,则无法从中调用isEmpty()
。我认为没有必要在$listScrap
之前坚持flush()
,因为它的变化已经被学说跟踪,并且会在刷新时保存。
我想你应该找出你的方法$historique->gethistorique()
究竟返回什么,如果它是一个字符串,那么检查字符串是否为空必须足够。