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 :

Comment faire une requête WHERE field = $value ? [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 178
    Points : 56
    Points
    56
    Par défaut Comment faire une requête WHERE field = $value ?
    Bonjour, dans la poursuite de mon apprentissage de SF2, j'en suis arrivé au traitement des données.

    Pour ce faire j'ai créé un contrôleur Profil à l'intérieur duquel je souhaiterais récupérer les données de mon Entity profile en fonction d'un Id que je récupère dans l'objet user. J'ai donc procédé comme ceci dans mon contrôleur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $user_Id = $this->getUser()->getId();
    $sql = $this->container->get('doctrine')->getEntityManager();
    $dataProfile = $sql->find('MyappProfileBundle:Profile', $user_Id);
    Sauf que là, il me récupère par défaut le profile dont l'id = $user_Id. Mais je ne sais pas comment faire si en lieu et place je souhaiterai faire une recherche dans un champ spécifique de ma table Profile comme par exemple Where online = 1.

    Merci pour votre aide

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2013
    Messages : 32
    Points : 53
    Points
    53
    Par défaut
    Bonjour,

    Tu peux utiliser les findByX

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $em = $this->getDoctrine()->getManager();
    $dataProfile = $em->getRepository('MyappProfileBundle:Profile')->findByOnline(1);
    Si tu veux récupérer à partir d'un paramètre de l'user

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $param = $this->getUser()->getParametre();
    $dataProfile = $em->getRepository('MyappProfileBundle:Profile')->findByParametre($param );
    Si tu veux un seul profil remplace findByParametre par findOneByParametre

  3. #3
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Tant que c'est pas plus compliqué que ça tu peux encore utiliser un findBy('online', 1).

    Au delà, il faudra songer à faire les requêtes toi même dans les repositories, à l'aide du QueryBuilder par exemple.

  4. #4
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 178
    Points : 56
    Points
    56
    Par défaut
    Merci à Spoon_Nico et Nico_F. C'est exactement ce qu'il me fallait. Ca marche super bien !

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

Discussions similaires

  1. Comment faire une requête de type spatiale
    Par sohm dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 20/02/2007, 08h50
  2. Comment faire une requête SQL dans un datatable
    Par Passepoil dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/02/2007, 20h24
  3. Comment faire une requête Mysql
    Par Xavier dans le forum C++Builder
    Réponses: 5
    Dernier message: 01/02/2007, 17h07
  4. [BDE] Comment faire une requête sur 2 Ttables ?
    Par dim07 dans le forum Bases de données
    Réponses: 2
    Dernier message: 02/12/2006, 12h15

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