Bonjour,
Je coince depuis plusieurs heures sur ce problème :
J'utilise plusieurs entity manager.
Voilà mon code :
Config.yml
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
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: ~
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
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
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; } }
Twig : Abc\CommunBundle\Resources\views\Default\test.html.twig
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; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 {{ dump(var) }}
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
Partager