如何使用属性#[Embedded]嵌入具有学说的对象集合?

问题描述 投票:0回答:1

假设我们有一个简单的实体

User
,其中包含一个属性
$address
,并且该实体包含一组
Address
对象,如何使用学说(doc)来做到这一点?

这是我的测试:

<?php
use Doctrine\ORM\Mapping\Embeddable;
use Doctrine\ORM\Mapping\Embedded;

#[Embeddable]
class Address
{
    private string $name;
}

class User
{
    #[Embedded(class: Address::class.'[]')]
    private array $address;
}

在这个例子中,这不起作用,因为当我检索

User
的记录时,属性
$address
只表示一个二维数组,而不是
Address
实例的数组。

php symfony doctrine-orm
1个回答
0
投票

class User
的定义中,这是你的错误。

private array $address;

这应该是:

private Address $address;
© www.soinside.com 2019 - 2024. All rights reserved.