Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 31-03-2014 13:54:07

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Faire un insert/delete multiple

Bonjour,

est-il possible en zf2 de réaliser un Delete multiple (supprimer plusieurs lignes en même temps) ?

j'ai essayé ceci, mais ça ne fonctionne pas :

Code:

[lang=php]
        $delete = new \Zend\Db\Sql\Delete;
        $delete->from($this->tableGateway->getTable())
               ->where(function($where) {
                     $where->in('id_commande', array(88,89,90,91));
                     return $where;
               });

Une idée ?

Merci

Dernière modification par romsVLM (31-03-2014 17:07:44)

Hors ligne

 

#2 31-03-2014 14:23:36

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Faire un insert/delete multiple

hello,
regarde de ce coté:

Code:

[lang=php]
 $db->delete('table', 'id = '.$id);

// tu peu mettre un tableau d'id =)

Dernière modification par flobrflo (31-03-2014 14:24:31)

Hors ligne

 

#3 31-03-2014 14:38:44

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Faire un insert/delete multiple

Merci ça fonctionne.

Effectivement, c'est plus facile comme ça^^, je me suis compliqué la vie pour rien

Code:

[lang=php]
$this->tableGateway->delete(array('id_commande' => $tabId))

Dernière modification par romsVLM (31-03-2014 14:39:38)

Hors ligne

 

#4 31-03-2014 17:07:20

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Faire un insert/delete multiple

Et pour un insert multiple ?

j'ai essayé ceci :

Code:

[lang=php]
        $this->tableGateway->insert($newTabPizza);

avec $newTabPizza qui vaut :

Code:

[lang=php]
Array
(
    [0] => Array
        (
            [nom_pizza] => toto
            [sauce] => Sauce rouge (1)
            [taille] => Petite (6)
            [description] => lardons (0.40)
            [prix] => 7.4
        )

    [1] => Array
        (
            [nom_pizza] => titi
            [sauce] => Sauce rouge (1)
            [taille] => Moyenne (7)
            [description] => chorizo (0.80),lardons (0.40)
            [prix] => 9.2
        )
)

Mais l'enregistrement n'a pas lieu sad

Hors ligne

 

#5 31-03-2014 17:11:59

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Faire un insert/delete multiple

euh...

disons qu'un petit foreach sera largement suffisant wink

Code:

[lang=php]
foreach ($newTabPizza as $pizza)
{
    $this->tableGateway->insert($pizza);
}

Hors ligne

 

#6 31-03-2014 17:16:16

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Faire un insert/delete multiple

justement je voulais éviter le foreach, imaginons j'ai 200 insertions, j'aurai 200 appels au insert.

Hors ligne

 

#7 31-03-2014 17:25:05

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Faire un insert/delete multiple

mmhhh... je pense pas que ça soit vraiment un problème..
Mais dans le doute, il faudra que tu attende que quelqu'un d'autre passe sur le topic par ce que j'ai pas vraiment d'idée ^^

Hors ligne

 

#8 31-03-2014 17:27:48

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Faire un insert/delete multiple

oui la question est la.

Est ce plus performant de faire 3 select avec 3 insert par le biais d'un "for"

OU

de faire 3 select avec 1 insert

?

Hors ligne

 

#9 31-03-2014 17:45:22

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Faire un insert/delete multiple

comment ça 3 select?

Hors ligne

 

#10 31-03-2014 18:04:45

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Faire un insert/delete multiple

Imaginons j'avais 3 insertions à faire

Hors ligne

 

#11 31-03-2014 18:07:20

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Faire un insert/delete multiple

Je suis d'accord, mais tu génère ton tableau d'un seul coup,
après le foreach c'est seulement pour l'insertion.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages