Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Je fais un script qui permet de récupérer les élements d'un site, et je stocke les éléments dans un tableau.
j'essaie d'inserer les éléments dans la base de données en faisant

oreach ($produits as $produit) {
                $sql->insert('produits',[
                    'numAMM' => $produit['Code'],
                    'libelle' => $produit['Libelle'],
                    'type_produit' => $produit['Type_Produit'],
                    'firme' => $produit['Firme'],
                    'autorisation' => $produit['Autorise'],
                    'date_maj' => date('d/m/Y',strtotime($produit['Date_MAJ'])),
                    'code_usage' => $produit['code_usage'],
                    'nom_usage' => $produit['nom_usage'],
                    'dose_max' => $produit['dose_max'],
                    'nb_max_appli' => $produit['nb_max_appli'],
                    'delai_avt_recolte' => $produit['delai_avt_recolte'],
                    'znt_aquatique' => $produit['znt_aquatique'],
                    'znt_arthropode' => $produit['znt_arthropode'],
                    'znt_plante' => $produit['znt_plante'],
                    'condition' => $produit['condition'],
                    'date_autorisation' => date('d/m/Y', strtotime($produit['date_autorisation']))
                    ]);
            }
        //}

        else{
            foreach ($produits as $produit){
                $sql->update('produits',[
                        'numAMM' => $produit['Code'],
                        'libelle' => $produit['Libelle'],
                        'type_produit' => $produit['Type_Produit'],
                        'firme' => $produit['Firme'],
                        'autorisation' => $produit['Autorise'],
                        'date_maj' => date('d/m/Y',strtotime($produit['Date_MAJ'])),
                        'code_usage' => $produit['code_usage'],
                        'nom_usage' => $produit['nom_usage'],
                        'dose_max' => $produit['dose_max'],
                        'nb_max_appli' => $produit['nb_max_appli'],
                        'delai_avt_recolte' => $produit['delai_avt_recolte'],
                        //'znt_aquatique' => $produit['znt_aquatique'],
                        //'znt_arthropode' => $produit['znt_arthropode'],
                        //'znt_plante' => $produit['znt_plante'],
                        'condition_Usage' => $produit['condition'],
                        'date_autorisation' => date('d/m/Y', strtotime($produit['date_autorisation']))
                        ],
                        ['numAMM' => $produit['Code']]);

            }
        }

        file_put_contents('listeproduits.json', print_r($produits, true));
        $this->out('Traitement terminé le '. strftime("%A %d %B %H %M %S" ));

Ce que je veux

Je veux que les éléments soit insérer dans ma base de données

Ce que j'obtiens

dans le shell j'ai une erreur et je n'arrive pas à la résoudre

1 réponse


Si je me souviens bien pour insérer des données dans tes tables de ta base de donnée depuis le terminal, il faut que tu te créer des Seeders, comme il appelle ça. http://book.cakephp.org/3.0/fr/migrations.html#seed-remplir-votre-base-de-donnees-seed (Plugin Migrations)