Symfony 3.4:在数组上调用成员函数

时间:2018-07-18 08:44:14

标签: orm symfony-3.4

我想显示我可视化的每个产品的详细信息。实际上,我正在按“名称”检索有关该产品的信息。每个产品都有一个URL列表。 我得到的错误是:在数组上调用成员函数getUrls() 这是我的代码(我尝试 findByOne ,但徒劳):

public function detailsProductAction(string $nomProduit) {
        $em = $this->getDoctrine()->getManager();
        $produit = $this->getDoctrine()->getRepository(Produit::class)->findByNom( $nomProduit );

        $urls = $produit->getUrls();
        $prix_array = [];

        foreach ($produit->getUrls() as $url) {
            $i = 0;
            $p = 0;
            foreach ($url->getHistprices() as $prix) {
                if ($i == 0) {
                    $date = $prix->getDateajout();
                    $i++;
                } else {
                    if ($prix->getDateajout() > $date) {

                        $date = $prix->getDateajout();
                        $p = $i;
                    }
                    $i++;
                }
            }
            array_push($prix_array, $p);
        }
        return $this->render('ProductBundle:Product:detailsProduct.html.twig', array('produit' => $produit, 'prix' => $prix_array));
    }

这是我在存储库中的功能:

 public function findByNom($str){
        return $this->getEntityManager()
            ->createQuery(
                'SELECT e
                FROM ProductBundle:Produit e
                WHERE e.nom LIKE :str'
            )
            ->setParameter('str', '%'.$str.'%')
            ->getResult();
    }

这是我的路线:

productdetails:   
    path:     /productdetails/{nomProduit}
    defaults: { _controller: ProductBundle:Product:detailsProduct } 

0 个答案:

没有答案
相关问题