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

MkFramework Discussion :

Alimenter automatiquement une table en objet


Sujet :

MkFramework

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Par défaut Alimenter automatiquement une table en objet
    Bonsoir,

    Ce n'est pas vraiment une question mais une remarque.
    Dans une méthode d'un module,
    je récupère des données à partir de plusieurs tables pour alimenter
    une autre et j'ai constaté ceci :
    Lorsque je crée mon objet en dehors de la boucle foreach, je ne trouve sur ma table
    que le dernier objet enregistré ; alors que si je le crée dans la boucle
    j'ai la totalité des objets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    public function _aliment()
    {
        //$oMk_mfp_config = new row_mk_mfp_config ;  // nouveau objet en dehors de la boucle
     
        $tMk_temp=model_mk_temp::getInstance()->findAll(); // contient le nombre d'objets à importer
        $i = 0 ;
        foreach($tMk_temp as $oMk_temp)
        {
          $oMk_mfp = model_mk_mfp::getInstance()->isExiste($oMk_temp->num_serie) ; // pour récupérer l'id du mfp
     
          $oMk_mfp_config = new row_mk_mfp_config ; // nouveau objet à l'intérieur de la boucle foreach
     
          // assigne les données
          $oMk_mfp_config->mfp_id = $oMk_mfp->mfp_id ;
          $oMk_mfp_config->config_smtp = $oMk_temp->config_smtp ;
          $oMk_mfp_config->config_conso = $oMk_temp->config_conso ;
          $oMk_mfp_config->ip = $oMk_temp->ip ;
          $oMk_mfp_config->site = $oMk_temp->site ;
     
          $oMk_mfp_config->save() ; // sauvegarde l'objet
     
          //var_dump($oMk_mfp_config) ; exit() ;
          $i++ ; // juste pour compter les objets
        }
        echo "Nombre i : ".$i ; exit() ; // test
      }
    Je pense que l'explication vient du fait que la fonction save(), renvoie en mémoire l'identifiant de l'objet créé
    du coup, à chaque passage, on ne fait que des modifications sur le premier objet créé dès le premier passage dans la boucle.

    Cordialement

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Billets dans le blog
    17
    Par défaut
    Oui c'est logique:
    Si vous créé l'objet en dehors de votre boucle et faites des modifications au sein de votre boucle, vous faites à chaque fois un update de l'objet précédemment créé
    Si vous créez l'instance au sein de votre boucle, vous créez à chaque fois une nouvelle instance, donc un nouvel enregistrement.
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

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

Discussions similaires

  1. trier un stringgrid alimenter par une table MySql
    Par boopix dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/03/2007, 14h28
  2. Alimentation d'une table : boucle ou tableau?
    Par ALLB dans le forum Oracle
    Réponses: 5
    Dernier message: 09/05/2006, 20h29
  3. Purger automatiquement une table
    Par yanis97 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/10/2005, 21h38
  4. Alimentation d'une table de dimension date
    Par kluh dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 01/07/2005, 14h34
  5. alimenter automatiquement une table access
    Par Mickey34 dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2004, 17h55

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