Bonjour
j'ai une erreur au niveau de mon image ! quand je veux modifier un car et je clique sur modifier , supprimer ou enregistrer , il ya cette erreur qui apparait
voici mon entité car
car controller
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 <?php namespace App\Entity; use App\Repository\CarRepository; use Doctrine\ORM\Mapping as ORM; use Symfony\Component\HttpFoundation\File\File; use Vich\UploaderBundle\Mapping\Annotation as Vich; /** * @ORM\Entity * @Vich\Uploadable * @ORM\Entity(repositoryClass=CarRepository::class) */ class Car { /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=100) */ private $brand; /** * @ORM\Column(type="integer") */ private $year; /** * @ORM\Column(type="integer") */ private $price; /** * @ORM\Column(type="string", length=100) */ private $image; /** * @Vich\UploadableField(mapping="car_images", fileNameProperty="image") * @var File */ private $imageFile; /** * @ORM\Column(type="boolean") */ private $isNew; public function getId(): ?int { return $this->id; } public function getBrand(): ?string { return $this->brand; } public function setBrand(string $brand): self { $this->brand = $brand; return $this; } public function getYear(): ?int { return $this->year; } public function setYear(int $year): self { $this->year = $year; return $this; } public function getPrice(): ?int { return $this->price; } public function setPrice(int $price): self { $this->price = $price; return $this; } public function getImage(): ?string { return $this->image; } public function setImage(string $image): self { $this->image = $image; return $this; } public function setImageFile(File $image = null) { return $this->imageFile = $image; } public function getImageFile() { return $this->imageFile; } public function getIsNew(): ?bool { return $this->isNew; } public function setIsNew(bool $isNew): self { $this->isNew = $isNew; return $this; } }
carType
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 <?php namespace App\Controller; use App\Entity\Car; use App\Form\CarType; use App\Repository\CarRepository; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; /** * @Route("/car") */ class CarController extends AbstractController { /** * @Route("/", name="car_index", methods={"GET"}) */ public function index(CarRepository $carRepository): Response { return $this->render('car/index.html.twig', [ 'cars' => $carRepository->findAll(), ]); } /** * @Route("/new", name="car_new", methods={"GET","POST"}) */ public function new(Request $request): Response { $car = new Car(); $form = $this->createForm(CarType::class, $car); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($car); $entityManager->flush(); return $this->redirectToRoute('car_index'); } return $this->render('car/new.html.twig', [ 'car' => $car, 'form' => $form->createView(), ]); } /** * @Route("/{id}", name="car_show", methods={"GET"}) */ public function show(Car $car): Response { return $this->render('car/show.html.twig', [ 'car' => $car, ]); } /** * @Route("/{id}/edit", name="car_edit", methods={"GET","POST"}) */ public function edit(Request $request, Car $car): Response { $form = $this->createForm(CarType::class, $car); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $this->getDoctrine()->getManager()->flush(); return $this->redirectToRoute('car_index'); } return $this->render('car/edit.html.twig', [ 'car' => $car, 'form' => $form->createView(), ]); } /** * @Route("/{id}", name="car_delete", methods={"DELETE"}) */ public function delete(Request $request, Car $car): Response { if ($this->isCsrfTokenValid('delete'.$car->getId(), $request->request->get('_token'))) { $entityManager = $this->getDoctrine()->getManager(); $entityManager->remove($car); $entityManager->flush(); } return $this->redirectToRoute('car_index'); } }
carFilterType
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 <?php namespace App\Form; use App\Entity\Car; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; use Vich\UploaderBundle\Form\Type\VichImageType; class CarType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('brand') ->add('year') ->add('price') ->add('imageFile',VichImageType::class) ->add('isNew') ; } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => Car::class, ]); } }
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 <?php namespace App\Form; use App\Entity\Car; use App\Form\CarType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\CheckboxType; use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\Extension\Core\Type\IntegerType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; class CarFilterType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('brand', TextType::class, [ 'required' => false ]) ->add('year', IntegerType::class, [ 'required' => false ]) ->add('price', IntegerType::class, [ 'required' => false ]) ->add('image', TextType::class, [ 'required' => true ]) ->add('isNew', ChoiceType::class, [ 'choices' => [ 'yes' => 'yes', 'no' => 'no' ], 'required' => false ]) ; } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => Car::class, ]); } }
Je vous remercie de votre aide
Partager