Noob de Doctrine aquí, tratando de descubrir cómo evitar un registro duplicado en una propiedad incrustada. Tengo un EmbededDocment así:doctrine 2 ODM que evita el registro duplicado
<?
/**
* @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;
}
lo que quiero que suceda es cuando añado un nuevo contacto, dos contactos pueden tener el mismo nombre, dos contactos puede tener la misma dirección, pero dos contactos no puedo tener el mismo nombre y dirección Al verificar si hay duplicados, la doctrina deberá ignorar las propiedades $ id, $ created y $ modified, ya que casi siempre serán distintas. Es la combinación de todos los otros campos que deben ser únicos. ¿Cómo puede lograrse esto usando la doctrina? ¿Esta lógica pertenece a una capa de servicio o puede hacerlo la doctrina por mí?
ACTUALIZACIÓN: Yo acepto que la respuesta de Andrew es la forma correcta para comprobar si hay duplicación utilizando Mongo, realmente quiero saber si la doctrina puede hacer esto por mí. Por lo tanto, estoy comenzando una recompensa.
Encontré útil esta publicación: http://stackoverflow.com/questions/3967226/checking-for-duplicate-keys-with-doctrine-2 –