Composite primary key, array_combine issue
Bonjour à tous,
J'espère tout d'abord que quelqu'un pourra m'aider car je suis vraiment bloqué.
Je me suis mis depuis peu à symfony 2 et j'ai crée un mapping objet qui fonctionne à mon sens et qui correspond à la génération de la base de données à ce que j'attends.
Cependant quand je veux faire un find d'un de mes objets précédemment sauvegardé, j'ai cette fameuse erreur :
Citation:
Warning: array_combine(): Both parameters should have an equal number of elements in C:\Developpement\wamp2\www\Symfony\vendor\doctrine\lib\Doctrine\ORM\EntityRepository.php line 126
Je cherche à charger un objet dynamicMap que voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
/**
* Description of DynamicMap
* @ORM\Entity(repositoryClass="MyApp\OriginBundle\Repository\MapRepository")
* @ORM\Table(name="map")
*/
class DynamicMap extends Map{
/** @OneToMany(targetEntity="MapDynamicElement", mappedBy="map") */
private $dynamicElements;
... |
Qui a donc une relation vers mon objet de liaison MapDynamicElement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| /**
* Description of MapElement
* @ORM\Entity(repositoryClass="MyApp\OriginBundle\Repository\MapDynamicElementRepository")
* @ORM\Table(name="map_dynamic_element")
*/
class MapDynamicElement {
/** @Id
* @ManyToOne(targetEntity="DynamicMap", inversedBy="dynamicElements", cascade={"SAVE_UPDATE"}) */
private $map;
/** @Id
* @ManyToOne(targetEntity="Coordinate", cascade={"SAVE_UPDATE"}) */
private $coordinate;
/**
* @ManyToOne(targetEntity="Element", cascade={"SAVE_UPDATE"}) */
private $element;
... |
Il y a une table de liaison générée en base avec comme clé primaire l'id de la map, l'id des coordonnées.
Le fait est que la map peut ne pas avoir d'élément à un instant t et c'est qu'il se passe.
Pourriez vous s'il vous plait m'aider car je bloque vraiment là.
Merci d'avance, David.