Proxy 与实体的关联(代理错误)

Proxy 与实体的关联(代理错误),proxy,doctrine-orm,associations,zend-framework2,entities,Proxy,Doctrine Orm,Associations,Zend Framework2,Entities,我有以下实体: 使用者 地址 国家 我的用户连接到地址,地址连接到国家。我有一个神奇的setter和getter,当我使用$addresses=$user->\uu get('addresses'),它检索我的地址 转储: 只有我的国家/地区没有(从国家/地区实体)获取正确的对象。我的协会: 用户实体: /** * Id from user * * @ORM\OneToMany(targetEntity="User\Entity\Address", mappedBy="user")

我有以下实体:

  • 使用者
  • 地址
  • 国家
我的用户连接到地址,地址连接到国家。我有一个神奇的setter和getter,当我使用
$addresses=$user->\uu get('addresses'),它检索我的地址

转储:

只有我的国家/地区没有(从国家/地区实体)获取正确的对象。我的协会:

用户实体:

/**
 * Id from user
 * 
 * @ORM\OneToMany(targetEntity="User\Entity\Address", mappedBy="user")
 * @var Address
 * @access protected
 */
protected $addresses;
地址实体:

/** 
 * @ORM\ManyToOne(targetEntity="User\Entity\User", inversedBy="addresses")
 * @ORM\JoinColumn(name="user_id", referencedColumnName="user_id", nullable=false, onDelete="cascade")
 * @var User[]
 * @access protected
 */
protected $user;

/**
 * @ORM\ManyToOne(targetEntity="User\Entity\Country", inversedBy="id")
 * @ORM\JoinColumn(name="country_id", referencedColumnName="id", nullable=false)
 * @var Country[]
 * @access protected
 */
protected $country;
国家实体:

/**
 * Id from a country
 * 
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 * @ORM\OneToMany(targetEntity="User\Entity\Address", mappedBy="country")
 * @var int
 * @access protected
 */
protected $id;

在我的地址实体中,它将用户id和国家id存储在数据库中。如何从我的用户那里获取我的国家/地区?不返回代理?

我真的不确定这一点,但如果您得到国家,代理通常会返回一个国家实体。你有没有试过把这个国家弄到手,看看你得到了什么样的东西

$addresses[0]->__get('country');

我真的不确定,但是如果你得到了国家,代理通常会返回一个国家实体。你有没有试过把这个国家弄到手,看看你得到了什么样的东西

$addresses[0]->__get('country');

是的,相当愚蠢。我不知道由于“延迟加载”,它返回了一个代理。所以他一直了解这些国家。如果我(如你所说)得到我的国名或什么,它就会返回这个国家。这个代理来了,因为我没有从国家实体那里得到任何东西。愚蠢,是的,相当愚蠢。我不知道由于“延迟加载”,它返回了一个代理。所以他一直了解这些国家。如果我(如你所说)得到我的国名或什么,它就会返回这个国家。这个代理来了,因为我没有从国家实体那里得到任何东西。愚蠢的