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 :

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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.