Bonjour la team !

Lorsque je crée une nouvelle resource au niveau de mon site a partir du formulaire de création de resource, la resource est bien créer et apparait sur la liste des derniers enregistrement de la page et même dans la page qui liste toutes les resource enregistrer.

Mais quand je vérifie au niveau de la table resources dans la base de donnée la resource n'y est pas enregistrer.

Resources Controller.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
 
namespace App\Controller;
 
use App\Entity\Resources;
use Cocur\Slugify\Slugify;
use App\Form\ResourcesType;
use App\Repository\ResourcesRepository;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
 
class ResourcesController extends AbstractController
{
    //Permet d'afficher un formulaire de creation et d'édition d'une resource
    #[Route('/resources/new', name: 'resource_create')]
    #[Route('/resources/{slug}/edit', name: 'resource_edit')]
    public function form(Resources $resource = null, EntityManagerInterface $manager, Request $request, ResourcesRepository $repo): Response
    {
        if(!$resource){
            $resource = new Resources();  
        }
 
        $form = $this->createForm(ResourcesType::class, $resource);
 
        $form->handleRequest($request);
 
        if($form->isSubmitted() && $form->isValid()){
 
            //Permet de créer le participant dans la base de donnée
            if(!$resource->getId()){
                $manager->persist($resource);
                $manager->flush();
                $this->addFlash(
                    'success',
                    "<strong>{$resource->getResourceName()}</strong> enregistrée avec succès !"
                );     
                return $this->redirectToRoute('resource_create');
 
            //Permet de modifier les données du participant 
            }elseif($resource){
                $slugify = new Slugify();
                $slug = $slugify->slugify($resource->getResourceName());
                $manager->persist($resource->setSlug($slug));
                $manager->flush();
                $this->addFlash(
                    'success',
                    "La resource <strong>{$resource->getResourceName()}</strong> a été mise à jour avec succès !"
                );
                return $this->redirectToRoute('resource_create');
            }
        }
 
        return $this->render('resources/index.html.twig', [
            'resourceform' => $form->createView(),
            'resource' => $repo->findAll(),
            'editMode' => $resource->getId() !== null
        ]);
    }
 
    //Permet d'afficher la liste complete des resources
    #[Route('/resources/list/{cat}', name: 'resource_list')]
    public function show($cat, ResourcesRepository $repo): Response
    {
        $resources = $repo->findByTypeOfResource($cat);
        return $this->render('resources/show.html.twig', [
            'resources'=> $resources,
            'category' => $cat
        ]);
    }
}
Entity Resources.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?php
 
namespace App\Entity;
 
use Cocur\Slugify\Slugify;
use Doctrine\ORM\Mapping as ORM;
use App\Repository\ResourcesRepository;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
 
/**
 * @ORM\Entity(repositoryClass=ResourcesRepository::class)
 * @ORM\HasLifecycleCallbacks
 * @UniqueEntity(
 * fields={"resourceName"},
 * message="La resource existe déjà."
 * )
 */
class Resources
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;
 
    /**
     * @ORM\Column(type="string", length=255)
     */
    private $resourceName;
 
    /**
     * @ORM\Column(type="string", length=255)
     */
    private $typeOfResource;
 
    /**
     * @ORM\Column(type="integer")
     */
    private $quantity;
 
    /**
     * @ORM\Column(type="string", length=255)
     */
    private $slug;
 
    /**
     * @ORM\Column(type="string", length=255)
     */
    private $destination;
 
    /**
     * @ORM\Column(type="datetime")
     */
    private $regDate;
 
    /**
     * @ORM\Column(type="text", nullable=true)
     */
    private $description;
 
    /**
     * Permet d'initialiser le slug et la date !
     * @ORM\PrePersist
     * @ORM\PreUpdate
     */
    public function initialize(){
        if(empty($this->slug)){
            $slugify = new Slugify();
            $this->slug = $slugify->slugify($this->resourceName);
        }
        date_default_timezone_set('Africa/Douala');
        $this->regDate = new \DateTime('now');
    }
 
    public function getId(): ?int
    {
        return $this->id;
    }
 
    public function getResourceName(): ?string
    {
        return $this->resourceName;
    }
 
    public function setResourceName(string $resourceName): self
    {
        $this->resourceName = $resourceName;
 
        return $this;
    }
 
    public function getTypeOfResource(): ?string
    {
        return $this->typeOfResource;
    }
 
    public function setTypeOfResource(string $typeOfResource): self
    {
        $this->typeOfResource = $typeOfResource;
 
        return $this;
    }
 
    public function getQuantity(): ?int
    {
        return $this->quantity;
    }
 
    public function setQuantity(int $quantity): self
    {
        $this->quantity = $quantity;
 
        return $this;
    }
 
    public function getSlug(): ?string
    {
        return $this->slug;
    }
 
    public function setSlug(string $slug): self
    {
        $this->slug = $slug;
 
        return $this;
    }
 
    public function getDestination(): ?string
    {
        return $this->destination;
    }
 
    public function setDestination(string $destination): self
    {
        $this->destination = $destination;
 
        return $this;
    }
 
    public function getRegDate(): ?\DateTimeInterface
    {
        return $this->regDate;
    }
 
    public function setRegDate(\DateTimeInterface $regDate): self
    {
        $this->regDate = $regDate;
 
        return $this;
    }
 
    public function getDescription(): ?string
    {
        return $this->description;
    }
 
    public function setDescription(?string $description): self
    {
        $this->description = $description;
 
        return $this;
    }
}
je veux que les données soit également stocker en base de données
mon projet est de version 5.3.7
merci d'avance