Bonjour à tous,
Je suis actuellement en stage, l'objectif de mon stage c'est de créer une maquette plus ou moins fonctionnelle d'un portail client.
Pour cette maquette j'ai décidé d'utiliser le framework Symfony.
Depuis ce portail, quand l'utilisateur c'est créé un compte et à rempli la case "Numéro de client" je m'interface avec notre base de données CRM et je récupère toutes les informations le concernant.
Actuellement je travail sur l'onglet "Mes tarifs" qui permet au client d'accéder à tous ses tarifs directement en ligne.
J'ai une table produit qui répertorie tous les produits. Chaque produit peut appartenir à une gamme de produit et à une sous gamme.
Ce que j'aimerais obtenir comme résultat c'est un tableau qui ressemblerait à ça:
Array=>(
- gamme1 Array=>(
- sous-gamme-1 Array=>(
- Produit1(object)
- Produit2(object)
- Produit3(object)
)
- sous-gamme-2 Array=>(
- Produit1(object)
- Produit2(object)
- Produit3(object)
)
- sous-gamme-3 Array=>(
- Produit1(object)
- Produit2(object)
- Produit3(object)
)
)
- gamme2 Array=>(
- sous-gamme-1 Array=>(
- Produit1(object)
- Produit2(object)
- Produit3(object)
)
- sous-gamme-2 Array=>(
- Produit1(object)
- Produit2(object)
- Produit3(object)
)
- sous-gamme-3 Array=>(
- Produit1(object)
- Produit2(object)
- Produit3(object)
)
)
)
Et ainsi de suite avec toutes les gammes qui contiennent des sous gammes et qui elles mêmes contiennent une liste d'objet produit
Ma classe produit
Du coup je n'ai pas d'entité gamme ou sous-gamme, toute la requête doit se faire sur la même table en base de données.
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
56
57
58
59
60
61
62
63 <?php namespace CompteBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * Product * * @ORM\Table(name="NewProduct") * @ORM\Entity(repositoryClass="CompteBundle\Repository\ProductRepository") */ class Product { /** * @var int * * @ORM\Column(name="Prod_ProductID", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var string * * @ORM\Column(name="prod_Active", type="string", length=40) */ private $productActive; /** * @var string * * @ORM\Column(name="prod_name", type="string", length=200) */ private $productName; /** * @var string * * @ORM\Column(name="prod_gdacomment", type="text", nullable=true) */ private $productComment; /** * @var string * * @ORM\Column(name="prod_gamme_sof", type="string", length=40, nullable=true) */ private $productGammeSof; /** * @var string * * @ORM\Column(name="prod_sous_gamme_sof", type="string", length=40, nullable=true) */ private $productSousGammeSof; /** * @ORM\OneToOne(targetEntity="Pricing", inversedBy="product") * @ORM\JoinColumn(name="Prod_ProductID", referencedColumnName="pric_ProductID") */ private $pricing;
Sinon j'aurais pu faire une gamme qui embarque une collection de sous-gamme qui elles mêmes embarque des produits.
Je ne sais pas si j'ai été assez clair ? Je ne vois pas trop comment faire ça avec doctrine et surtout est-ce que c'est réalisable.
Merci du temps que m'accordez.
Partager