我有一个User类,它与另一个实体Result
具有一对一的关联一切都运行正常,但无论何时加载一组用户,我都可以在分析器中看到每个用户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;
}
-----编辑-----
我发现只有当用户实体加载到formbuilder时才会发生:
$builder
->add('user', 'entity', array(
'class' => 'ThemBaseBundle:User',
'query_builder' => function($repository) {
return $repository->createQueryBuilder('a')
->orderBy('a.lastName', 'ASC');
},
'property' => 'fullName'
))
;