簡體   English   中英

Symfony和Doctrine:嘗試一對多訪問時未定義的索引

[英]Symfony & Doctrine: Undefined index when trying to access one-to-many

我有一些問題。 我有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

訂單詳情:

<?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訪問orderdetail。 例如,這個例子

   Undefined index: Carorder 

例:

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

我不知道是什么原因造成的,所以我希望你們能幫助我。

您已映射屬性Carorder但屬性名稱是carorder ,區分大小寫。

正確的映射可能是:

/**
 * @ORM\OneToMany(targetEntity="Orderdetail", mappedBy="carorder", cascade={"persist","remove"})
 **/
protected $orderdetails;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM