首页 > 解决方案 > 学说和级联 fetch="EAGER"

问题描述

我有三个实体:User> UserVersion> Color。每个实体都与fetch="EAGER".

User班级 :

class User
{
    /**
     * @var UserVersion[]|ArrayCollection
     *
     * @ORM\OneToMany(
     *     targetEntity="App\Entity\UserVersion",
     *     mappedBy="user",
     *     cascade={"persist"},
     *     fetch="EAGER",
     * )
     */
    protected $versions;

UserVersion班级 :

class UserVersion
{
    /**
     * @var Color
     *
     * @ORM\ManyToOne(
     *     targetEntity="App\Entity\Color",
     *     fetch="EAGER",
     * )
     */
    private $color;

但是当我得到用户时,$entityManager->getRepository(User::class)->find(2)我有一个 join User>UserVersion 但不是 UserVersion> Color

我想加入我的三个实体。有可能还是我必须$this->createQueryBuilder()手动加入?

标签: mysqlsymfonydoctrine-ormdoctrine

解决方案


推荐阅读