2012-11-09 149 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