Bonjour à toutes et à tous.

Je me permets de faire appel à vos lumières pour tenter de m'éclaircir sur un point sur lequel je bloque.
(Je pourrais éventuellement procéder autrement en terme d'HTML, mais je souhaite résoudre le problème ne serait-ce que pour le savoir-faire...)

J'ai un formulaire assez long dont je ne pense pas lister l'intégralité ici, mais à l'intérieur de celui-ci, il y a des champs checkbox, dont j'aimerais qu'ils comportent le même "name" voici l'exemple ci-dessous :

View:
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
				<label for="inputIsoType">Type de chauffage</label>
				<div class="row">
					<div class="col-lg-6">
						<div class="input-group">
							<span class="input-group-addon"> <input type="checkbox"
								aria-label="HeatType" name="customerIsoHeatType[]" id="inputHeatTypeGaz">
							</span><label for="inputHeatTypeGaz" class="form-control">Gaz</label>
						</div>
					</div>
					<div class="col-lg-6">
						<div class="input-group">
							<span class="input-group-addon"> <input type="checkbox"
								aria-label="HeatType" name="customerIsoHeatType[]" id="inputHeatTypeFioul">
							</span><label for="inputHeatTypeFioul" class="form-control">Fioul</label>
						</div>
					</div>
					<div class="col-lg-6">
						<div class="input-group">
							<span class="input-group-addon"> <input type="checkbox"
								aria-label="HeatType" name="customerIsoHeatType[]" id="inputHeatTypeElectricite">
							</span><label for="inputHeatTypeElectricite" class="form-control">Electricité</label>
						</div>
					</div>
					<div class="col-lg-6">
						<div class="input-group">
							<span class="input-group-addon"> <input type="checkbox"
								aria-label="HeatType" name="customerIsoHeatType[]" id="inputHeatTypeBois">
							</span><label for="inputHeatTypeBois" class="form-control">Bois</label>
						</div>
					</div>
				</div>
J'ai bien saisi que pour pouvoir stocker plusieurs checkbox dans un même "name" il fallait les stocker sous forme de tableau, d'où les "[]".

Cependant, le problème survient à l'étape d'après;
D'habitude, pour pouvoir récupérer ces valeurs, je procède ainsi :

Controlleur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
    public function addCustomerIso()
    {
        if (isset($_POST['addCustomerIso']))
        {
            $customerIso = new CustomerIso([
                'heat_type' => $_POST['customerIsoHeatType']
            ]);
            $this->customerIsoManager->add($customerIso);
        } else {
            echo 'Une erreur est survenue';
        }
    }
Toujours d'après les recherches Google, il faudrait effectuer un foreach pour récupérer les plusieurs checkbox si il y en a et ensuite effectuer le $_POST de celui-ci, mais c'est la que le problème intervient... je n'arrive pas à visualiser cette partie du code.
Certains parlent même d'"implode" pour rassembler les éléments du tableau en string, sur papier, ça me paraît tout juste, mais à retranscrire c'est plus compliqué.

Le modèle quant à lui devrait rester pareil ? Il n'aura aucun impact pour la requête BDD ?


Je vous remercie énormément pour votre aide.

Cdt