Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-01-2010 14:08:31

elec
Membre
Date d'inscription: 16-10-2009
Messages: 118

Problème avec Doctrine et Zend

Bonjour,

Je souhaite une solution à mon problème après des heures et des heures de recherches.Je cherche à envoyer un message de confirmation d'inscription d'un nouveau visiteur sur mon site,alors je travaille avec Doctrine pour enregistrer et tirer mes informations de la base de donnée,pour mon cas c'est dans un premier temps de tirer le dernier "ID" du visiteur inscrit puis par ce dernier je tire l'Email pour envoyer un message  directement après l'inscription du visiteur(l'enregistrement).

Pour tirer le dernier "ID" enregistré j'utilise "lastinsertID()" comme suit :


Code:

    public function getMail()
    {
          // pour trouver le dernier ID

         $conn = Doctrine_Manager::getInstance()->getCurrentConnection();
         $id=$conn->lastInsertId('Users','id');

         //Puis utiliser le ID pour trouver l'Email

         $mail = Doctrine::getTable('Users')->find($id)->mail;
         return $mail;
   }

Il m'affiche toujours l'erreur suivant :

Code:

Notice: Trying to get property of non-object in...

j'ai essayé d'autres méthodes comme "fetchone()"  et même zend_DB mais toujours le même problème.Surement il ne récupére pas une bonne enregistrement.


Merci.Nll

Dernière modification par elec (26-01-2010 14:09:45)

Hors ligne

 

#2 26-01-2010 18:01:36

jean
Membre
Date d'inscription: 25-08-2008
Messages: 107

Re: Problème avec Doctrine et Zend

Bonsoir,

Jon Lebensold a consacré plusieurs tutoriels vidéo à l'intégration ZF - Doctrine.

En plus, le forum de discussion des tutoriels peut être utile.

http://www.zendcasts.com/archives/

Hope this helps...

Jean

Hors ligne

 

#3 27-01-2010 09:55:46

elec
Membre
Date d'inscription: 16-10-2009
Messages: 118

Re: Problème avec Doctrine et Zend

Bonsoir,

Merci  pour votre réponse,mais pour ce site incroyable est encore au début pour l'utilisation de doctrine alors que il y a aucune solution sur ce site ou même sur peut être le net en ce qui concerne ce problème,c'est tout nouveau alors je souhaite des zenders ici si vous avez une idée....


Merci.

Hors ligne

 

#4 29-01-2010 20:43:50

nosferapti
Membre
Date d'inscription: 10-01-2010
Messages: 40

Re: Problème avec Doctrine et Zend

au lieu de faire ça dans une nouvelle action, ajoute plutôt un appel à $utilisateur->envoiEmailBienvenue() et dans cette méthode tu fais l'envoi de l'e-mail


GNAP !

Hors ligne

 

#5 01-02-2010 10:53:14

elec
Membre
Date d'inscription: 16-10-2009
Messages: 118

Re: Problème avec Doctrine et Zend

Bonjour,

Merci pour votre réponse mais ou est la solution!Je cherche une solution pour le message d'erreur...,en tout cas je vous remercie pour votre aide.

Nll.

Hors ligne

 

#6 01-02-2010 11:33:07

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Problème avec Doctrine et Zend

Si on avait la ligne ou ce produit ton notice, ca pourrait nous aider


----
Gruiiik !

Hors ligne

 

#7 01-02-2010 14:01:39

elec
Membre
Date d'inscription: 16-10-2009
Messages: 118

Re: Problème avec Doctrine et Zend

Bonjour,

Merci encore,bon il m'affiche l'erreur dans la dernière ligne et j'ai indiqué dans mon premier message que l'erreur provient précisément de "lastInsertId()" alors soit il ne retourne pas un bon "ID" ou définitivement aucune valeur,parce que j'ai testé avec un "ID" qui existe dans ma base de donnée de cette façon ::

Code:

   public function getMail()
    {
          $id= '3';

         $mail = Doctrine::getTable('Users')->find($id)->mail;
         return $mail;
   }

alors cela marche très bien et il m'envoie le message correctement vers la destination souhaitée...,j'attend vos réponse.

A+.Nll

Dernière modification par elec (01-02-2010 14:20:33)

Hors ligne

 

#8 01-02-2010 14:48:07

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Problème avec Doctrine et Zend

L'erreur suivante :
Notice: Trying to get property of non-object in..

Indique que tu accèdes à une propriété d'un objet qui n'existe pas.
En gros, souvent, c'est comme si on faisait :
$obj = null; // ou false
$obj->toto(); // erreur

Dans le code que tu présentes si dessus, je vois 2 cas possible :
Doctrine::getTable('Users') renvoi null/false ?
->find($id) renvoi false

à toi de voir laquelle plante


----
Gruiiik !

Hors ligne

 

#9 01-02-2010 16:07:52

elec
Membre
Date d'inscription: 16-10-2009
Messages: 118

Re: Problème avec Doctrine et Zend

Bonjour,

Merci Norky mais je ne pense pas que tu as bien lus mon dernier message,je m'explique encore:

J'affecte à "ID" la valeur '3' qui est dans ma base de donnée correspond à l'email "test@test.fr"(par exemple),quand je fais comme j'indique dans le code en haut,il sélectionne la table "Users" puis avec "find("$id")->mail" il trouve le champ Email et il me rend "test@test.fr" dans "return $mail".Cela veut dire que doctrine::gettable("User") et " ->find($id)" fonctionne bien  alors le problème c'est que "lastInsertId()" c'est elle qui renvoie null ou false.Enfin je cherche si il y a une autre solution pour retourner le dernier "ID" de la dernière inscription.

Je vous remercie encore et je vais me débrouiller pour trouver une solution après...

A+.Nll

Dernière modification par elec (01-02-2010 16:08:57)

Hors ligne

 

#10 01-02-2010 16:23:23

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Problème avec Doctrine et Zend

Beh, perso, je fais :

Code:

$obj->save();
$id = $obj->id;

lastInsertId, ca dépends du driver et du type de champ (auto-increment ?) je crois..


----
Gruiiik !

Hors ligne

 

#11 02-02-2010 11:33:03

elec
Membre
Date d'inscription: 16-10-2009
Messages: 118

Re: Problème avec Doctrine et Zend

Bonjour,

Oui effectivement Norky,j'avais penser à cela et je l'ai testé aujourd'hui et cela marche très bien mais avant je voulais utiliser plusieurs fonctions puis les appeler dans une seule,alors que maintenant j'ai ramassé tout le code dans une seule fonction pour ne pas avoir des problèmes,je vous remercie encore j'avais laissé cette tache une semaine malgré sa facilité j'avais plus le temp,enfin j'ai résolu mon problème avec votre aide.

A+.Nll

Dernière modification par elec (02-02-2010 11:34:38)

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