Symfony2/Doctrine - Comment forcer l'id d'une entity?
ARCHIVE
Un peu de dév' aujourd'hui, avec une petite manip pour symfony2.
Il peut vous arriver d'avoir besoin, ponctuellement, de préciser un id spécifique pour une entité. Si vous essayez de créer une méthode setId(), vous verrez qu'au moment du flush, cela ne suffira pas. Voici donc une astuce en quelques étapes.
1) Créez une méthode setId() dans votre entity, et utilisez la avant le persist
2) Partons d'un code de ce type:
$em = $this->getDoctrine()->getManager() ;
$entity = new VotreEntity();
$entity->setId(3);
$em->persist($entity);
Après le persist, il vous suffit de faire :
$metadata = $em->getClassMetaData(get_class($entity));
$metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE);
$em->flush();
Et c'est tout ;)
Bien entendu, si vous souhaitez setter chacun des id de ce type d'entité, il serait sage de se pencher sur d'autres solutions. Mais pour forcer un id de manière ponctuelle, le code ci dessus est fonctionnel ;)
Tu aimeras aussi...
Basiquement, un nom de domaine, tu l'achètes pour que tout le monde se souvienne comment aller sur ton site. Car une adresse ip (pour peu qu'elle soit en...
On voit pas mal de jeux flash un peu partout: y'en a même certains qui s'introduisent en bourse (zynga, king... ne rions pas.), et d'autres débarquent ...
J'ai récemment découvert un truc magique-sur-le-papier, qui pollue notre bel internet de tous les jours (parfois même sans qu'on s'en rende compte): le...
OpenShift (cf. https://openshift.redhat.com/) ne se limite pas qu'à Ghost, et propose une foultitude (sisi) de "cadridges", dont wordpress pour ne citer ...
J'ai toujours vu le web comme une Amérique d'antan, avec son rêve américain sauce virtuelle: trouver une idée, se lancer, la mettre en place et se réjo...
Dans mes installations NAS/plex and co. je réfléchis (beaucoup ^) à une meilleure façon de gérer le stockage de mes fichiers ultra-légaux. On a, bien sûr...
J'entends souvent des gens (ah... les gens...) critiquer la pub sur internet: "C'est chiant", "Comment ils savent que j'aime ça?", "Tiens je vais mettre ...
Tout se passait bien. Ou presque. Retour sur une expérience qui m'a fait aller voir ailleurs (chez digitalocean, en fait - cf. http://bit.ly/1byjTW0). ...
Vous souvenez vous de la vidéo de cette mannequin qui se faisait photoshoper pour mieux se rapprocher des stéréotypes-impossibles de notre société idyll...
On a déjà eu un petit aperçu vidéo de l'épisode spécial noël 2013 de Doctor who, ainsi que quelques photos exclusives. Mais il y a peu, un nouveau tr...
When you click on links to various merchants on this site and make a purchase,
this can result in this site earning a commission.
Affiliate programs and affiliations include, but are not limited to,
the eBay Partner Network and Amazon.