不能使用Entity \ X类型的对象作为数组

时间:2015-05-16 11:05:09

标签: php symfony doctrine-orm

我没有什么问题,我不知道我的代码有什么问题:/

$ilosc = $_POST["ilosc"];

        $recipe = new Recipe();
        $em = $this->getDoctrine()->getManager();
        $repository = $this->getDoctrine()->getRepository('MainBundle:Recipe');

        $query = $repository->createQueryBuilder('p')->select('p.id')->where('p.nazwa = :nazwa AND p.adres = :adres')->setParameters(array('nazwa' => $_POST["nazwaprzepisu"], 'adres' => $_POST["adresprzepisu"]))->getQuery();
        $test = $query->getResult();
        $id = $test[0]['id'];


        $idprod = $_POST['idprod'];
        $iloscprod = $_POST['iloscprod'];


        for ($i = 0; $i < $ilosc; $i++)
        {
            $ingredient = new Ingredient();
            $repositorying = $this->getDoctrine()->getRepository('MainBundle:Ingredient');
            $query = $repositorying->createQueryBuilder('p')->select('p')->where('p.przepis_id = :id AND p.produkt_id = :idprod')->setParameters(array('id' => $id, 'idprod' => $idprod[$i]))->getQuery();
            $result = $query->getResult();

            if(!$result)
            {
                $ingredient->setProduktId($idprod[$i]);
                $ingredient->setPrzepisId($id);
                $ingredient->setIlosc($iloscprod[$i]);

            }
            else
            {
                $nowailosc = $result[0]['ilosc'] + $iloscprod[$i];
                $stareid = $result[0]['id'];

                echo "kokoko";

            }
            $em->persist($ingredient);
            $em->flush();   
        }

我对这两行有疑问:

$nowailosc = $result[0]['ilosc'] + $iloscprod[$i];
$stareid = $result[0]['id'];

我收到错误: “致命错误:不能使用My \ MainBundle \ Entity \ Ingredient类型的对象作为数组”。 有人知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

问题解决了。我不得不使用:

$nowailosc = $result[0]->getIlosc() + $iloscprod[$i];
$stareid = $result[0]->getId();