Symfony & Doctrine: неопределенный индекс при попытке получить доступ один-ко-многим
У меня немного проблем. У меня 2 класса: 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
Я не могу получить доступ к детализации заказа через Carorder. Например, этот пример просто теряет
Undefined index: Carorder
Пример:
$repository = $this->getDoctrine()->getRepository('AppBundle:Carorder');
$orders = $repository->findAll();
$orderdetail = $orders[0]->getOrderdetails()->first();
Я понятия не имею, что вызывает это, поэтому я надеялся, что вы, ребята, сможете мне помочь.
1 ответ
Решение
Вы картировали собственность Carorder
но имя вашей собственности carorder
Это чувствительно к регистру.
Правильное отображение может быть:
/**
* @ORM\OneToMany(targetEntity="Orderdetail", mappedBy="carorder", cascade={"persist","remove"})
**/
protected $orderdetails;