Php Symfony2';这是一对多的关系
我有两张桌子。第一个表是stat_alert,第二个表是user_qdf。我在表之间有一个多对一的关系 我想在外键表中赋值 在我的控制器中:Php Symfony2';这是一对多的关系,php,symfony,Php,Symfony,我有两张桌子。第一个表是stat_alert,第二个表是user_qdf。我在表之间有一个多对一的关系 我想在外键表中赋值 在我的控制器中: $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()
$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();
}
我有这个错误致命错误:在第514行的D:\EasyPHP-5.3.3.1\www\alerteurs1\src\Admin\BlogBundle\Controller\GestionAlerteController.php中对非对象调用成员函数setUser()返回一个集合,而不是一个对象。改用
findOneBy()
,应该没问题。为什么在symfony 2应用程序中使用纯MySQL?我还没有找到如何使用Symfony2:(你没有用于stat\u alert
的存储库类?没有类(实体)对于stat_Alerts,然后为其创建一个存储库类,就像您为UserQdf所做的那样。此外,$sql9
和$list9
对于变量来说都不是很好的命名方式……数字完全没有用,您最好用英语编写,不要在代码中混用法语/英语。谢谢您能给我一个解决此问题的方法我被困了将近2个小时;(不,你没有给出足够的上下文……你应该问自己的正确问题是:为什么我没有带“cell”值的行?你应该总是有一行吗?如果没有,你只需要在$alert->setUser($user_qdf)之前添加If($alert)
如果我写echo$list13[0];我有tun1409s1,不写$list9[0]
,写$list9['cell']]
,这更容易理解。无论如何,在尝试理解你的(相当脏的)代码一段时间后,问题似乎是findBy()
返回一个集合,而不是一个对象。改为使用findOneBy()
,应该可以。