我需要帮助,在symfony
的项目中我遇到了findArray()
方法的问题。
我想用array_keys($session>get('panier'))
函数检索会话的内容,并使用其结果来查询我的数据库。
但只有symfony
会返回此信息:
未定义的方法'findArray'。方法名称必须以findBy或findOneBy!
开头
但如果我在array_keys($session->get('basket'))
上执行var_dump,我会在会话中找到项目。
显然,findArray方法无法识别。
这是我的控制器的内容:
public function validationAction(){
if($this->get('request')->getMethod()=='POST'){
$this->setLivraisonOnSession();
}
$em = $this->getDoctrine()->getManager();
$session = $this->getRequest()->getSession();
$adress=$session->get('adresse');
/*var_dump(array_keys($session->get('panier')));
die();*/
$produits=$em->getRepository('SaressoSaressoBundle:Produits')->findArray(array_keys($session->get('panier'))
);
$livraison= $em->getRepository('SaressoSaressoBundle:UtilisateurAdresse')->find($adress['livraison']);
$facturation= $em->getRepository('SaressoSaressoBundle:UtilisateurAdresse')->find($adress['facturation']);
return $this->render('SaressoSaressoBundle:Default:panierVerification.html.twig',array('produits'=>$produits, 'livraison'=>$livraison, 'facturation'=>$facturation, 'panier'=>$session->get('panier')));
}
Merci d'avance pourvosréponses
答案 0 :(得分:0)
您需要改为:
$produits = $em->getRepository('SaressoSaressoBundle:Produits')
->findBy(array_keys($session->get('panier')));
这应该有效。
编辑#2
抱歉,我的错误尝试编辑#2:
$produits = $em->getRepository('SaressoSaressoBundle:Produits')
->find($session->get('panier'));
编辑#3
另外请试试这个:
$produits = $em->getRepository('SaressoSaressoBundle:Produits')
->findOneBy(
array('id' => $session->get('panier'))
);
让我知道结果。