简单派生身份问题

时间:2019-01-10 13:56:24

标签: symfony doctrine-orm doctrine

我正在根据这里描述的用例来解决一个问题: Use-Case 2: Simple Derived Identity

我的Symfony应用程序中具有以下学说实体和映射:

class User
{
    private $entity_id;
    private $address;
    ...
}

class Address
{
    private $user;

    ...
}

AppBundle\Entity\User:
    type: entity
    id:
        entity_id:
            type: integer
            generator:
                strategy: AUTO
    oneToOne:
        address:
            targetEntity: Address
            mappedBy: user
            cascade: ["persist"]

AppBundle\Entity\Address:
    type: entity
    id:
        user:
            associationKey: true
    oneToOne:
        user:
            targetEntity: User
            inversedBy: address
            joinColumn:
                name: entity_id
                referencedColumnName: entity_id

每次我执行涉及用户实体的DQL查询时,Doctrine都会为每个匹配的用户执行一个附加查询,以检索相应的地址实体。即使代码中从未使用过地址数据,每次也会发生这种情况。

我尝试在香草Symfony安装上重现此问题,但是遇到另一个问题,由于出现错误,我无法执行以下代码(AppBundle \ Entity \ Address类型的实体缺少分配的ID对于“用户”字段):

$user = (new User())->setAddress(new Address());
$entityManager->persist($user);
$entityManager->flush();

您有任何提示或有什么问题吗?

最诚挚的问候

0 个答案:

没有答案
相关问题