doupingzhi9674 2015-10-28 05:36
浏览 57
已采纳

Symfony&Doctrine:尝试访问一对多时未定义的索引

Im having a bit of problems. I have 2 classes: Carorder:

<?php

namespace AppBundle\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use AppBundle\Entity\Orderdetail;

/**
 * @ORM\Entity
 * @ORM\Table(name="carorder")
 */
class Carorder
{
    /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue
     */
    protected $id;
    /**
     * @ORM\OneToMany(targetEntity="Orderdetail", mappedBy="Carorder", cascade={"persist","remove"})
     **/
    protected $orderdetails;

    //Then all the auto genereted setters and getters beneath here

Orderdetail:

<?php

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/** @ORM\Entity 
 *  @ORM\Table(name="orderdetail")
 */
class Orderdetail
{
     /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue
     */
    protected $id;

    /**
     * @ORM\ManyToOne(targetEntity="Carorder", inversedBy="orderdetails")
     **/
    protected $carorder;
     /**
     * @ORM\Column(type="integer")
     */
    protected $amount;

    //Then all the auto generated setters and getters beneath here

I can't access the orderdetail through the Carorder. For example this example, just thorws the

   Undefined index: Carorder 

Example:

    $repository = $this->getDoctrine()->getRepository('AppBundle:Carorder');
    $orders = $repository->findAll();
    $orderdetail = $orders[0]->getOrderdetails()->first();

I have no idea what is causing this, so i hoped you guys could help me out.

展开全部

  • 写回答

1条回答 默认 最新

  • duanan5940 2015-10-28 05:46
    关注

    You mapped the property Carorder but your property name is carorder, it's case sensitive.

    A correct mapping could be:

    /**
     * @ORM\OneToMany(targetEntity="Orderdetail", mappedBy="carorder", cascade={"persist","remove"})
     **/
    protected $orderdetails;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?