2012-11-09 104 views
-1

我有两个表。第一个表是stat_alert,第二个表是user_qdf。我有很多关系到一个 Symfony2的关系一对多

我想在我的控制器分配外键表 值表

之间:

$sql9="SELECT cell,id_user FROM stat_alert WHERE TYPE='C' AND id_user IS NULL LIMIT $purcent "; 
    $h = mysql_query($sql9)OR DIE("Erreur sur la requeteee"); 

    $listes9 = array(); 
    while ($row = mysql_fetch_array($h)) { 
    $listes9[] = $row; 
    } 

    foreach ($listes9 as $liste9) 
    { 
     $user_qdf = $this->getDoctrine() 
     ->getRepository('AdminBlogBundle:UserQdf') 
     ->find($cs); 
    echo $liste9[0]; 
     $em = $this->getDoctrine()->getEntityManager(); 
     $alert = $em->getRepository('AdminBlogBundle:StatAlert') 
        ->findBy(array('cell' => $liste9[0])); 
     **$alert->setUser($user_qdf);** 

    $em->flush(); 
    } 

我有这个错误致命错误:调用一个成员函数SETUSER( )在D上的非对象D:\ EasyPHP-5.3.3.1 \ www \ alerteurs1 \ src \ Admin \ BlogBu​​ndle \ Controller \ GestionAlerteController.php on line 514

+0

为什么在symfony 2应用程序中使用纯MySQL? – theredled

+0

我还没有找到如何做到这一点Symfony2 :( – user1794019

+0

你没有'stat_alert'的存储库类? – theredled

回答

0

findBy()返回一个集合,而不是一个对象。改为使用findOneBy(),它应该没问题。

+0

谢谢你可以给我一个想法如何解决这个问题我卡住了将近2个小时;( – user1794019

+0

不,你没有给予足够的上下文...你应该问自己在这里正确的问题是:为什么我没有行与“细胞”VA lue?你应该总是有一个?如果不是,你只需要在'$ alert-> setUser($ user_qdf);' – theredled

+0

'之前添加'if($ alert)',如果我写echo $ liste13 [0];我的TUN1409S1 – user1794019