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 :

Propel faire une requete SQL à la main [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de thecanea
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 131
    Par défaut Propel faire une requete SQL à la main
    Bonjour à tous,

    Je cherche a exécuter une requête directement en SQL. Comment puis-je faire ?

    Je suis actuellement avec Propel, et je voudrai pouvoir exécuter ma requête personnalisée que je n'arrive pas à effectuer avec des criteria...

    Je n'ai pas trouvé dans la doc,

    Merci d'avance pour vos réponses,

    Cordialement,

    Thec

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Il y a sur le site de propel une grande documentation sur les requêtes. Et avec les criterions on peut aller très loin dans les requêtes.

    Je sais qu'il existe des possibilités pour faire une requête en utilisant propel pour ce connecter et avec du SQL en directe, mais tu vas perdre une grande partie des avantages de l'utilisation de propel.

    Je n'ai plus travaillé avec propel depuis 2 ans, mais j'ai encore quelques restes, poste la requête SQL que tu veux faire, on va déjà voir si elle est réalisable en propel.

    As-tu pensés à doctrine dans ton projet, s'il n'est pas trop avancé du moins.

  3. #3
    Membre confirmé Avatar de thecanea
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 131
    Par défaut
    Pour Doctrine, le projet est trop avancé, et effectivement mes nouveaux projets sont basés sur cet ORM qui a pris le pas sur Propel au sein de Symfony...

    J'ai déjà regardé du côté des criterions, mais j'ai pas trouvé ce que je cherchais.

    Je cherche à faire une requête qui correspondrait à ça en SQL :

    SELECT * FROM matable WHERE MONTH(matable.date_debut) = ? AND YEAR(matable.date_debut) = ?;

    En gros j'ai un mois donné et une année donnée, et je cherche tout les enregistrements dont la date débute bien dans ce mois.

    C'est la plus simple de qq requêtes dont j'ai besoin, toutes étant basées sur les dates.

    Si vous aviez quelques éclaircissements à m'apporter, merci par avance,

    Bien à vous,

    Thec

  4. #4
    Membre confirmé Avatar de thecanea
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 131
    Par défaut
    Peut être une piste avec ce bout de code trouvé sur le lien que tu m'as transmis...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $c->add(ReviewPeer::REVIEW_DATE, 'to_date('.ReviewPeer::REVIEW_DATE.', \'YYYY-MM-DD\') = '.$con->quote($date->format('Y-m-d'), Criteria::CUSTOM);
    Je vais regarder ça, si vous avez des pistes, merci de m'en faire part...

  5. #5
    Membre confirmé Avatar de thecanea
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 131
    Par défaut
    Alors à priori c'est bon. Il suffisait simplement d'utiliser les Criteria::Custom.

    Rien de tel qu'une bonne nuit de repos pour avoir les idées claires

    Pour ceux que ça intéresse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $c->add(SejourPeer::DATE_DEBUT_SEJOUR, "MONTH(".SejourPeer::DATE_DEBUT_SEJOUR.") = $mois", Criteria::CUSTOM);
    Merci encore

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Si non tu as la possibilité de créer des critérions et de les lier avec des and ou des or et de simuler ainsi arborescence de niveaux que tu veux, très puissant.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/03/2008, 14h26
  2. Réponses: 23
    Dernier message: 19/09/2006, 11h33
  3. [SQL] recupere les valeurs d'un liste puis faire une requete SQL
    Par 18Marie dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/06/2006, 12h50
  4. soucis a faire une requete SQL
    Par navona dans le forum Langage SQL
    Réponses: 7
    Dernier message: 01/09/2005, 16h19
  5. Réponses: 2
    Dernier message: 03/05/2004, 12h13

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