Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je suis un nouvel utilisateur de Zend et je me pose la question suivante : Comment insérer plusieurs lignes à la fois dans une table ?
J'ai essayé une boucle avec
while($ligne = lignedecsv){ //En supposant que $ligne soit un tableau avec les clés qui vont bien $db->insert('table', $ligne); }
je voudrais faire une requête sous la forme INSERT INTO Table(c1, c2) VALUES (1,2), (2,3), ...
Je voulais savoir s'il y avait une solution native à Zend_DB pour insérer plusieurs lignes à la fois
Merci d’avance
Hors ligne
Bonjour,
Ce n'est pas possible en utilisant les classes tables, il va falloir remonter jusqu'à l'adaptateur de base de données ($this->getAdapter()), puis de créer une requête "à la main" en utilisant un $this->->query("...SQL...");
Voilà, c'est la seule solution en utilisant le framework, mais sinon la boucle est une bonne solution en terme de lisibilité et d'évolutivité.
Hors ligne
Tu peux tenter un truc comme ceci :
[lang=php] while($ligne = lignedecsv){ //Où $table est un objet de type (hérité de) 'Zend_Db_Table_Abstract', pointant vers la table dans laquelle tu veux insérer. $obj = $table->createRow( $ligne ); $obj->save(); }
Dernière modification par f.garoby (18-07-2011 08:48:11)
Hors ligne