Symfony & Doctrine: неопределенный индекс при попытке получить доступ один-ко-многим

1

У меня немного проблем. У меня есть 2 класса: Кардер:

<?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

Я не могу получить доступ к orderdetail через Carorder. Например, этот пример просто отражает

   Undefined index: Carorder 

Пример:

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

Я понятия не имею, что это вызывает, поэтому я надеялся, что вы, ребята, смогли мне помочь.

  • 0
    Ошибка указывает на первую строку в приведенном вами примере?
Теги:
doctrine2

1 ответ

8
Лучший ответ

Вы сопоставили свойство Carorder но ваше имя свойства - carorder, оно чувствительно к регистру.

Правильное отображение может быть:

/**
 * @ORM\OneToMany(targetEntity="Orderdetail", mappedBy="carorder", cascade={"persist","remove"})
 **/
protected $orderdetails;
  • 1
    Я провел буквально 2 недели, размышляя об этом. Я просмотрел сопоставление OneToMany 100 раз ... Я был на 100% уверен, что сопоставление было правильным. большое спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню