Bonjour,

Je coince depuis plusieurs heures sur ce problème :
J'utilise plusieurs entity manager.

Voilà mon code :

Config.yml
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
# Doctrine Configuration
doctrine:
    dbal:
        default_connection:   default
        connections:
            default:
                driver:   "%database_driver%"
                host:     "%database_host%"
                port:     "%database_port%"
                dbname:   "%database_name%"
                user:     "%database_user%"
                password: "%database_password%"
                charset:  UTF8
            serveur:
                driver:   "%database_driver_serveur%"
                host:     "%database_host_serveur%"
                port:     "%database_port_serveur%"
                dbname:   "%database_name_serveur%"
                user:     "%database_user_serveur%"
                password: "%database_password_serveur%"
                charset:  UTF8
                mapping_types:
                    enum: string
                    bit: boolean                
 
        # if using pdo_sqlite as your database driver, add the path in parameters.yml
        # e.g. database_path: %kernel.root_dir%/data/data.db3
        # path:     %database_path%
 
    orm:
        default_entity_manager:   default
        entity_managers:
            default:
                connection:       default                
                mappings:
                    AbcArchitectureBundle: ~
                    AbcCommunBundle: ~
                    AbcDiagnosticBundle: ~
            serveur:
                connection:       serveur             
                mappings:
                    AbcServeurBundle: ~
Controler : Abc\CommunBundle\Controller\DefaultController.php
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
21
 
<?php
 
namespace Abc\CommunBundle\Controller;
 
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Abc\DiagnosticBundle\Form\ParametresType;
 
class DefaultController extends Controller
{
 
    public function testAction()
    {
    	$oDiag = $this->getDoctrine()->getRepository( 'AbcServeurBundle:Diagnostic', 'serveur')->findOneById(1);
    	$var = $oDiag->getDossier()->getId();
 
    	return $this->render( 'AbcCommunBundle:Default:test.html.twig', array(
    			'var'=>$var,
    	));
    }
}

Entity : Abc\ServeurBundle\Entity\Diagnostic.php
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
<?php
 
namespace Abc\ServeurBundle\Entity;
 
use Doctrine\ORM\Mapping as ORM;
 
/**
 * Diagnostic
 *
 * @ORM\Table(name="exp_diag")
 * @ORM\Entity
 */
class Diagnostic
{
    /**
     * @var integer
     *
     * @ORM\Column(name="idDiag", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
 
    /**
     * @var integer
     *
     * @ORM\ManyToOne(targetEntity="Abc\ServeurBundle\Entity\Dossier")
     * @ORM\JoinColumn(name="idDossier", referencedColumnName="idDossier")
     */
    private $dossier;
 
    /**
     * Set dossier
     *
     * @param \Abc\ServeurBundle\Entity\Dossier $dossier
     * @return Diagnostic
     */
    public function setDossier(\Abc\ServeurBundle\Entity\Dossier $dossier = null)
    {
        $this->dossier = $dossier;
 
        return $this;
    }
 
    /**
     * Get dossier
     *
     * @return \Abc\ServeurBundle\Entity\Dossier 
     */
    public function getDossier()
    {
        return $this->dossier;
    }
}
Entity : Abc\ServeurBundle\Entity\Dossier.php

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
<?php
 
namespace Abc\ServeurBundle\Entity;
 
use Doctrine\ORM\Mapping as ORM;
 
/**
 * Dossier
 *
 * @ORM\Table(name="exp_dossiers")
 * @ORM\Entity
 */
class Dossier
{
    /**
     * @var integer
     *
     * @ORM\Column(name="idDossier", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
 
 
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }
 
}
Twig : Abc\CommunBundle\Resources\views\Default\test.html.twig

A l'affichage, j'ai toujours une valeur NULL pour $var, alors que dans la base de données, j'ai bien le DIAG 1, avec le champs "idDossier" qui vaut 10, et le dossier avec l'Id 10 est présent.
J'ai ce probleme à chaque fois que j'utilise des entité du gesionnaire 'serveur'.
Alors que ca fonctionne parfaitement avec le gestionnaire 'default'

Je vous remercie pour votre aide,

Gilles