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

Symfony PHP Discussion :

apprendre sql native symfony [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 23
    Points : 21
    Points
    21
    Par défaut apprendre sql native symfony
    Bonjour , excusez , cela fait plusieurs jours que je recherche un tutoriel pour débutant sur la sql native , je me suis rendu sur le site officiel de "Doctrine" , mais les articles étant en anglais, je suis un peu perdu , pourriez vous m'indiquer un lien ou je pourrais apprendre la sql native en français de préférence , ou alors un site qui explique pour des débutants , car je suis encore débutant en symfony .

    Merci de votre attention[

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    je crois pas que des ressources en francais existent. Le sql natif de doctrine2 te permet de faire des requetes "a la main" c'est a dire de taper tout le sql sans trop te soucier de l'orm.
    Voici les trois façons de faire des requetes en doctrine2

    Natif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = $entityManager->createNativeQuery('SELECT id, name, discr FROM users WHERE name = ?', $rsm);
    $query->setParameter(1, 'romanb');
    Query builder de bas niveau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $qb->add('select', 'u')
       ->add('from', 'User u')
       ->add('where', 'u.name = :name_param');
       ->setParameter('name_param, "Jean");
    querybuilder de haut niveau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $qb->select('u')
       ->from('User', 'u')
       ->where('u.name = :name_param')
       ->setParameter('name_param, "Jean");

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 23
    Points : 21
    Points
    21
    Par défaut quelques éclaircissement à propos de createnativequery
    Natif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = $entityManager->createNativeQuery('SELECT id, name, discr FROM users WHERE name = ?', $rsm);
    $query->setParameter(1, 'romanb');
    Je crpos qie je vais adopter cette méthode
    Mais au fait j'ai quelques petites questions à te demander , au fait en fouillant dans la documentation sur l'un des sites anglais , j'ai vu qu'il fallait d"'abord déclarer un ResultSetMapping , alors , j'aimerais savoir si c'est bien cela ou bien , si je peux passer directement par le createnativequery
    enfin , dans la méthode setParameter , tu as mis les arguments 1 et "romamb" ,ici , je dévine que le paramètre à recherche est "romamb" mais et le 1 , j'aimerais savoir pourquoi l'as tu ajouté comme argument , pourquoi 2 et non pas un autre chiffre .

    Je commence à mieux comprendre le DQL , mais bon tes informations me permettront d'en savoir un peu plus
    Merci encore pour ton aide , tes informations me sont d'une valeur inestimable

    Merci encore l'ami

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    je sais pas je ne l'utilise pas ^^

    Si je peux t'expliquer rapidement le principal défaut de ton choix, tu ne pourra pas déclarer des requetes dynamiques facilement.

    Regarde ce que permet les autres syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $qb->select('u')
       ->from('User', 'u')
       ->where('u.name = :name_param')
       ->setParameter('name_param', "Jean");
    if( $reponse == 42){
      $qb->from('universe','uni')
          ->andWhere('u.name = :name_param');
    }
    if( $inlove == true){
      $qb->join('girlfriend','gf')
          ->andWhere('u.name = gf.name');
    }
    Doctrine va directement me mettre mes jointures et mes tables comme il faut dans la requête, mon code est facilement lisible.

    maintenant essaye de générer la même requête native dynamiquement avec ta solution ca sera forcement un truc crado

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 23
    Points : 21
    Points
    21
    Par défaut merci
    Bonjour

    Merci beaucoup pour ces éclaircissements , je vais me mettre au query builder dan ce cas , Bonne journée à toi et encore merci

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

Discussions similaires

  1. Microsoft SQL Native Client error '80040e38'
    Par Tragnee dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/11/2007, 21h39
  2. je veux apprendre sql
    Par madjidri dans le forum Langage SQL
    Réponses: 11
    Dernier message: 12/10/2007, 12h10
  3. Réponses: 4
    Dernier message: 05/05/2006, 16h45

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