я имею в последующие объекты:ассоциации с сущностями (ошибка прокси)
- Пользователь
- Адрес
- Страна
Мой пользователь подключается к Адрес и адрес в стране. У меня есть волшебный __setter и __getter, и когда я использую $addresses = $user->__get('addresses');
, он извлекает мои адреса.
свалка:
array(1) {
[0]=>
object(stdClass)#463 (13) {
["__CLASS__"]=>
string(19) "User\Entity\Address"
["inputFilter"]=>
NULL
["addressid"]=>
int(21)
["street"]=>
string(9) "Lange heg"
["number"]=>
int(19)
["addition"]=>
string(1) "a"
["zipcode"]=>
string(6) "7039CA"
["user"]=>
string(16) "User\Entity\User"
["country"]=>
string(50) "DoctrineORMModule\Proxy\__CG__\User\Entity\Country"
["creator_id"]=>
int(9)
["creation_date"]=>
string(8) "DateTime"
["last_modifier_id"]=>
NULL
["last_modified_date"]=>
NULL
}
}
Только моя страна не получить правильный объект (от страны лиц). Мои ассоциации:
User-объектные:
/**
* 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;
В моей адресной сущности он хранит user_id и country_id в базе данных. Как я могу получить свои страны от своих пользователей? Не возвращая прокси?
Да, довольно глупо. Я не знал, что он вернул прокси-сервер из-за «ленивой загрузки». Значит, он все время знал страны. Если я (как вы сказали), получите мою страну или что-то еще, она просто вернула страну. Этот прокси пришел, потому что я ничего не получил от страны страны. Глупый. – Haidy