Fat*_*moo 6 php mongodb doctrine-orm
在这里学说NOOB,试图弄清楚如何在嵌入许多属性时防止重复记录.我有一个像这样的EmbededDocment:
<?
/**
* @EmbeddedDocument
*/
class Contact {
/**
* @Id
*/
private $id;
/**
* created timestamp
* @Date
*/
private $created;
/**
* modified timestamp
* @Date
*/
private $modified;
/**
* @String
*/
private $name;
/**
* @String
*/
private $name;
/**
* @String
*/
private $address;
}
Run Code Online (Sandbox Code Playgroud)
我想要发生的是当我添加新联系人时,两个联系人可以具有相同的名称,两个联系人可以具有相同的地址,但是两个联系人不能具有相同的名称和地址.检查重复项时,doctrine将需要忽略$ id,$ created和$ modified属性,因为这些属性几乎总是不同的.它是必须唯一的所有其他字段的组合.如何使用学说来实现这一目标?这个逻辑是属于服务层还是教条可以为我做?
更新: 我确实接受安德鲁的回答是使用Mongo检查重复的正确方法,我真的想知道教义是否可以为我做这件事.因此,我开始赏金.
您可以实现一个事件侦听器,它将侦听 preUpdate 和 prePersist 事件。 http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/events.html
在您的情况下,您可以自行检查。
| 归档时间: |
|
| 查看次数: |
1629 次 |
| 最近记录: |