2

我正在实现一个必须对此建模的 php 类:

/** @Document */
classMember {

    /** @String */
    protected $fname;

    /** @String */
    protected $lname;

    /** @String */
    protected $email;

    /** @Int */
    protected $cell;

    /** @String */
    protected $password;

    /** @Int */
    protected $gender;

    /** @Int */
    protected $loc = array();

    /** ????? */
    protected $info;
}

我希望 info 字段本身包含此结构:

info Object
[
 contact ["phoneNumber1" , "phoneNumber2"] ,
 address ["USA, NY 8791 John St."] ,
 email ["my@domain.com", "me@site.info"]
]

我应该实现另一个 info.php 类吗?如果没有,我该如何实现呢?谢谢你的帮助...

4

1 回答 1

0

$info可以使用Embed One映射。然后,您嵌入的类将具有contactaddressemail字段的映射。

如果contact并且email真的打算分别保存多个电话号码和电子邮件地址,那么我建议使用Collection映射,它是未映射值的任意数组。或者,这些可以是与 PhoneNumber 和 Email 对象的Embed Many关系,但这可能是不必要的开销,因为它需要存储单字段(我假设)对象的数组,而不是字符串数组。

我不确定您为什么将address字段表示为字符串数组,但这将从 Address 对象的 Embed Many 关系中受益。然后地址将具有特定字段(例如国家、省/州)。允许用户以单个字符串的形式输入他们的地址可能很方便,但它使数据管理和验证成为一场噩梦。

于 2013-08-19T17:54:15.983 回答