-1

私は2つのテーブルを持っています。最初のテーブルは stat_alert で、2 番目のテーブルは user_qdf です。テーブル間に多対 1 の関係があります

コントローラーの外部キーテーブルに値を割り当てたい:

 $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();
   }

このエラーがあります Fatal error: Call to a member function setUser() on a non-object in D:\EasyPHP-5.3.3.1\www\alerteurs1\src\Admin\BlogBu​​ndle\Controller\GestionAlerteController.php 行 514

4

1 に答える 1

0

findBy()オブジェクトではなく、コレクションを返します。代わりに使用findOneBy()してください。問題ありません。

于 2012-11-09T14:38:06.150 に答える