IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ORM PHP Discussion :

save() d'une collection [Doctrine]


Sujet :

ORM PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 89
    Par défaut save() d'une collection
    $produits = Doctrine_Core::getTable('produit')->getProduits();
    foreach ($produits as $produit):
    $p = new Produit();
    $p= Doctrine_Core::getTable('produit')->findOneById($produit->getId());
    $p['numero'] = 1;
    $p->save();
    endforeach;

    je parcours une collection de produit dont je modifie le numero.
    vous pouvez remarquez qu'à chaque boucle. :
    - je recherche un produit sur ID
    - j'enregistre un produit
    (j'imagine qu'il y a là un problème de perf)


    à la place, y'a t'il un moyen d'enregistrer la collection après avoir modifié tous les produits ?

    avec le code ci dessous, j'ai cette erreur : Fatal error: Call to a member function save() on a non-object in D..... -> sur la ligne $produits->save();
    $produits = Doctrine_Core::getTable('produit')->getProduits();
    foreach ($produits as $key=>$produit):
    $produits[$key] ['numero'] = 1;
    endforeach;
    $produits->save();

  2. #2
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    getProduits() te retourne quoi ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 89
    Par défaut
    il me retourne bien un tableau avec les différents produits.


    getProduits()
    ...
    return $q->execute(array(),Doctrine::HYDRATE_ARRAY);

  4. #4
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    C'est de la que le viens le problème.
    Doctrine::HYDRATE_ARRAY retourne un tableau, pas un objet.

    il te faut un doctrine_collection pour faire les enregistrements avec save().

    fait juste un execute(); tout simple.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 89
    Par défaut
    oki oki

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Save or Update sur une collection
    Par *alexandre* dans le forum Hibernate
    Réponses: 2
    Dernier message: 04/01/2009, 14h29
  2. [VB6]Valeurs une collection renvoyée par la fonction d'une classe
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 30/03/2004, 11h04
  3. [VB6] Sauvegarder une collection d'objets
    Par Sayagh dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 19/09/2003, 11h58
  4. Comment créér une collection sous Delphi
    Par PsyKroPack dans le forum Langage
    Réponses: 6
    Dernier message: 11/02/2003, 13h20
  5. [VB6] Modifier la clé d'un élément d'une collection
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo