Bonjour, depuis hier j'ai un petit soucis dans mon code.
Je suis actuellement en train de développer mon portfolio. Mon erreur est la suivante :

Sur mon site, je peux poster des "Postes" qui seront soit des articles, soit des créations (projets...). Ces "Postes" peuvent appartenir à une ou plusieurs catégories.
Dans mon administration, j'utilise un Multiple Select qui liste toutes les catégories. Le but était donc de pouvoir ajouter une ou plusieurs catégories à un poste lors de son ajout depuis l'administration.

Mon modèle de données est le suivant :
Nom : Capture du 2018-10-27 09-52-47.png
Affichages : 275
Taille : 30,3 Ko
Il fonctionne très bien, du moins quand je fait des entrées depuis la base de données.

Pour lister les différentes catégories présentes, j'utilise donc un Foreach :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<select multiple class="form-control" id="tags" name="tags[]" required>
    <?php
 
    foreach ($getCategories->fetchAll() as $categorieDetails) {
        echo '<option value="' . (string) $categorieDetails['id'] . '">' . $categorieDetails['tag'] . '</option>';
    }
 
    ?>
</select>
Mon modèle est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
$insert = $db->prepare('INSERT INTO postes_categories (id_poste, id_categorie) VALUES (:id_last_post, :id_categorie)');
 
$insert->execute(array(
    'id_last_post' => $id_last_post,
    'id_categorie' => $id_categorie
));
Je récupère l'id du dernier article posté, puis je lui passe l'une des catégories séléctionnés via le Multiple Select.

Pour ce faire, voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
foreach ($_POST['tags'] as $tagDetails) {
 
    $addPosteCategorie = $postes_categories->addPosteCategorie($getLastPostesID->fetch(), $tagDetails);
 
}
Mais malheureusement, j'ai une erreur de type : Array to string conversion

L'erreur provient de la ligne à l'intérieur du foreach (le dernier bloc de code).

J'ai regardé sur différents forums mais je ne trouve pas un moyen pour résoudre ce problème.
J’espère que vous parviendrez à m'aider.

Merci par avance.