Symfony不返回Arraycollection(一对多)

时间:2018-01-01 18:11:33

标签: php symfony

我有一个空的ArrayCollection问题。 与一对多和多对一的关系

这是品牌实体:

class Brand
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;


    /**
     * @var Model[]
     * @ORM\OneToMany(targetEntity="AppBundle\Entity\Model", mappedBy="brand")
     */
    private $models;

    /**
     * Brand constructor.
     */
    public function __construct()
    {
        $this->models= new ArrayCollection();
    }

    /**
     * @return Model[]|ArrayCollection
     */
    public function getModels()
    {
        return $this->models;
    }

    /**
     * @param Model $model
     * @return $this
     */
    public function addModel(Model $model)
    {
        $this->models[] = $model;
        return $this;
    }

}

这是模型实体:

class Model
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="modelName", type="string", length=60)
     */
    private $modelName;

    /**
     * @var Brand
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Brand", inversedBy="models")
     * @ORM\JoinColumn(name="brand_id", referencedColumnName="id")
     */
    private $brand;

    /**
     * Get id
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set modelName
     *
     * @param string $modelName
     *
     * @return Model
     */
    public function setModelName($modelName)
    {
        $this->modelName = $modelName;

        return $this;
    }

    /**
     * Get modelName
     *
     * @return string
     */
    public function getModelName()
    {
        return $this->modelName;
    }

    /**
     * @param Brand $brand
     * @return $this
     */
    public function setBrand(Brand $brand)
    {
        $this->brand= $brand;
        return $this;
    }

    /**
     * @return Brand
     */
    public function getBrand()
    {
        return $this->brand;
    }
}

和控制器:

$UserRepo = $this->getDoctrine()->getRepository(Brand::class);
        $all = $UserRepo->find($brandId);

Symfony不会返回任何错误。 但是,它只下载对应于$ brandId的brandName。不幸的是,ArrayCollection是空的。 有人能告诉我我犯了什么错误:(

0 个答案:

没有答案