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 :

affichage en utilisant une requette [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 131
    Par défaut affichage en utilisant une requette
    Bonjour tous le monde

    Dans un formulaire généré par l'admin generator

    je dois afficher juste les 10 premiers lignes (Limit 10)

    Mais je ne sais pas comment faire ma requette, étant dans la class MonModelForm.class.php

    Est ce que je peux faire quelque chose comme

    Doctrine::getTable...?


    Merci d'avance

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Tu peux faire un Doctrine_Core::getTable($str) de n'importe où (ou presque). En tout cas depuis ton formulaire oui.

    Du coup, cela donnerait un : Doctrine::getTable($str)->findAllBy?($str)->limit(10);
    (instruction à vérifier, j'utilise jamais la méthode limit).

    Par contre, vu que tu passes par l'admin-generator, il y a plus simple : dans ton fichier generator.yml, tu peux lui indiquer le nombre d'élément par page (pareil, je l'utilise rarement, mais c'est forcément dans la doc).

    EDIT

    Tu as tout ici : http://www.symfony-project.org/jobee...Doctrine/fr/12

    Il s'agit donc de l'attribut max_per_page

  3. #3
    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
    Tu dois modifier ton generator.yml pour lui indiquer quel méthode il va devoir utiliser pour récupérer les données.

    Tu va devoir créer cette nouvelle méthode qui devra retourner (return) les données (pas la requête).

    Pour créer la requête il n'y a pas de meilleur méthode, le doctrine_querry::create() est une bonne méthode standard pour ceux qui commences, d'autre sont peut-être plus rapide en longueur de code (pas en exécution), elle viendrons avec de l'expérience, dans tous les cas, les données retournée seront les mêmes.

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 131
    Par défaut
    Moi je pensai passer une requette, de type query('select..'), cela me va mieux sinon.

  5. #5
    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
    Avec doctrine, c'est une mauvaise idée.

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 131
    Par défaut
    je voudrais à partir d'un formulaire

    Par exemple séléctionné les noms commencant par A (like A%) et limite (10) par exemple

    Si je ne peux pas faire avec Doctrine, ça serait quoi la solution??

    Merci

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Ce que je pense que Michel Rotta voulait dire (qu'il corrige si je me trompe) est que c'est une mauvaise idée d'écrire query('select..') avec Doctrine. Il vaut mieux passer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Doctrine::getTable('taTable')
      ->createQuery()
      ->where('str LIKE ?', 'A%')
      ->limit(10)
      ->execute);
    (se servir des méthodes Doctrine, et non écrire toi-même ta requête SQL)

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/07/2012, 18h53
  2. poster une requête HTTP on utilisant httpClient ?
    Par feedo dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 02/02/2009, 11h04
  3. utiliser le résultat d'une requette Access sous VBA
    Par bossLINDROS dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/07/2008, 16h49
  4. Réponses: 4
    Dernier message: 23/07/2007, 17h43
  5. Réponses: 2
    Dernier message: 24/06/2003, 20h31

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