У меня есть класс User, который имеет связь «один к одному» с другим объектом. Результат
Все работает нормально, но каждый раз, когда я загружаю набор пользователей, я вижу в профилировщике, что для каждого пользователя symfony делает запрос для загрузки своего результата.
Мне не нужен результат везде, и я получаю его вручную, когда мне нужно.
Я пришел к выводу, что Symfony автоматически загружает отношения один-к-одному с сущностью, но не нашел, как этого избежать.
Мои занятия:
class User extends BaseUser {
/**
* @ORM\OneToOne(targetEntity="Result", mappedBy="user", cascade={"all"}, orphanRemoval=TRUE)
*/
protected $result;
}
class Result {
/**
* @ORM\OneToOne(targetEntity="User", inversedBy="result")
* @ORM\JoinColumn(name="id_user", referencedColumnName="id")
*/
protected $user;
}
----- РЕДАКТИРОВАТЬ -----
Я обнаружил, что это происходит только тогда, когда сущность User загружается в formbuilder:
$builder
->add('user', 'entity', array(
'class' => 'ThemBaseBundle:User',
'query_builder' => function($repository) {
return $repository->createQueryBuilder('a')
->orderBy('a.lastName', 'ASC');
},
'property' => 'fullName'
))
;