我正在实现一个必须对此进行建模的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 Object
[
contact ["phoneNumber1" , "phoneNumber2"] ,
address ["USA, NY 8791 John St."] ,
email ["my@domain.com", "me@site.info"]
]
我应该实现另一个info.php类吗?如果没有,我该如何实现呢? 谢谢你的帮助...
答案 0 :(得分:0)
$info
可能会使用Embed One映射。然后,您嵌入的类将具有contact
,address
和email
字段的映射。
如果contact
和email
真的打算分别容纳多个电话号码和电子邮件地址,那么我建议使用Collection映射,这是一个未映射值的任意数组。或者,这些可能是与PhoneNumber和Email对象的Embed Many关系,但这可能是不必要的开销,因为它需要存储单字段(我假设)对象的数组,而不是字符串数组。
我不确定为什么你将address
字段表示为一个字符串数组,但这可以从一个地址对象的嵌入多个关系中受益。然后,地址将具有特定字段(例如,国家,省/州)。允许用户将其地址作为单个字符串输入可能很方便,但它使数据管理和验证成为一场噩梦。