Symfony 为什么条令会自动将外键添加到查询中?
我刚刚发现,即使我选择了带有id和name字段的partial,doctor也会自动将所有外键添加到所选字段中。如何全局或每次查询关闭它?当我在寻找这样的答案时,我看到了: 我的查询如下所示:Symfony 为什么条令会自动将外键添加到查询中?,symfony,doctrine-orm,doctrine-extensions,Symfony,Doctrine Orm,Doctrine Extensions,我刚刚发现,即使我选择了带有id和name字段的partial,doctor也会自动将所有外键添加到所选字段中。如何全局或每次查询关闭它?当我在寻找这样的答案时,我看到了: 我的查询如下所示: $queryBuilder = $this->getEntityManager()->createQueryBuilder() ->select('partial c.{id, name}') ->from('MyBundle:Car', 'c') ->wh
$queryBuilder = $this->getEntityManager()->createQueryBuilder()
->select('partial c.{id, name}')
->from('MyBundle:Car', 'c')
->where('c.slug = :slug')
->setParameter('slug', $slug);
由此产生:
SELECT m0_.id AS id_0, m0_.name AS mname_1 m0_.created_by AS created_by_5, m0_.updated_by AS updated_by_6, m0_.config_id AS config_id_7, m0_.client_id AS client_id_8
FROM cars m0_
WHERE m0_.mslug = ?
["audi-a8"] []
您是否用
fetch=“EAGER”
标记了您的createdBy
和updatedBy
关系?@Wilt否。我没有以任何方式标记它。在我发现这个问题后,我在我的问题中添加了一个链接,我甚至将其设置为额外的懒惰,但这没有帮助。首先,createdBy和UpdatedBy的行为类似于EAGER,而其他FK只是添加到查询中——在这两种情况下,我都不知道为什么。