У меня есть две сущности, пользователь и клиент, у одного клиента может быть много пользователей.
Часто я хочу иметь сущность пользователя и лениво загружать клиента, но по какой-то причине клиентский прокси не загружается самкогда я пытаюсь получить доступ к его свойствам.
Если я дам данные, подобные этим \Doctrine\Common\Utils\Debug::log($user->client);
, он выведет клиентский прокси с его идентификатором клиента.
Если я изменю политику выборки на «EAGER»«Я получу клиентскую сущность неповрежденной, но мне не всегда нужна клиентская сущность, когда я получаю доступ к пользователям, поэтому я скорее предпочитаю использовать LAZY-загрузку, если это возможно.
EDIT
Когда я позже сделаю это:
$user->client->name
Я получу нулевое значение, даже если мой прокси-сервер получил идентификатор клиента.
Это мои два отношения (внутри аннотации):
// user annotation
/**
* @var Entities\Client
*
* @ManyToOne(targetEntity="Client", inversedBy="users", fetch="LAZY")
*/
private $client;
// client annotation
/**
* @var Entities\User
*
* @OneToMany(targetEntity="User", mappedBy="client", cascade={"all"}, fetch="LAZY")
*/
private $users;
РЕДАКТИРОВАТЬ
Я выяснил, почему это не сработало, все мои аннотации расширяли базовую аннотацию, тогда базовая аннотация имела геттер иустановщик, который потерпел неудачу при использовании в прокси-классе.