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 :

no default value or because there is a non option


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Octobre 2015
    Messages : 10
    Par défaut no default value or because there is a non option
    Bonjour !

    Je tente de faire une requête count, que j'ai simplifier volontairement pour m'afficher le résultat de ma requête qui se trouve dans mon repository. Ce bundle utilise la base secondaire.

    Ce qui est complexe c'est que j'ai 2 bases une en defaut et une secondaire qui se nomme inventaire.

    J'ai maintenant un message d'erreur mais je ne vois pas ou est l'erreur :/

    " Controller "test\InventaireBundle\Controller\DefaultController::statistiqueAction()" requires that you provide a value for the "$nb" argument (because there is no default value or because there is a non optional argument after this one)."

    Pouvez vous si possible me venir en aide si possible

    excuser moi pour les fautes

    Cordialement,


    Controller

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php
     
    namespace test\InventaireBundle\Controller;
    use Symfony\Component\Security\Core\Exception\AccessDeniedException;
    use Symfony\Component\HttpFoundation\Request;
    use test\InventaireBundle\Entity\Inventaire;
    use test\InventaireBundle\Form\InventaireType;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
     
    class DefaultController extends Controller
    {
       public function indexAction()
       {
           return $this->render('testInventaireBundle:Default:index.html.twig');
     
       }
     
    public function statistiqueAction($nb)
    {
    $inventaireEm = $this->getDoctrine()->getManager('inventaire');
           $inventaire = $inventaireEm->getRepository('testInventaireBundle:Inventaire', 'inventaire');
           $nb = $inventaire->getNb();
     
    return $this->render('testInventaireBundle:Default:statistique.html.twig', array ('nb' => $nb));
     
     
     
    }
    }
    InventaireRepository

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
     
    namespace test\InventaireBundle\Entity;
     
    use Doctrine\ORM\EntityRepository;
     
    /**
    * InventaireRepository
    *
    * This class was generated by the Doctrine ORM. Add your own custom
    * repository methods below.
    */
    class InventaireRepository extends EntityRepository
    {
    return $this->createQueryBuilder('i')
     
           ->select('COUNT(i)')
     
           ->getQuery()
     
           ->getSingleScalarResult();
       }
    }
    Vue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    test_inventaire_statistique:
       path:      /inventaire/statistique
       defaults: { _controller: testInventaireBundle:Default:statistique }

  2. #2
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Bonjour,

    Le problème est tout bête et n'a rien à voir avec tes bases de données...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    " Controller "test\InventaireBundle\Controller\DefaultController::statistiqueAction()" requires that you provide a value for the "$nb"
    Le message te dit que tu n'a pas donné la valeur de la variable $nb pour la fonction appellée.

    Rergardons la route : pas de $nb en parametre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    test_inventaire_statistique:
       path:      /inventaire/statistique
       defaults: { _controller: testInventaireBundle:Default:statistique }
    Et le controller : $nb est requis.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public function statistiqueAction($nb)
    Il faut donc que tu définisses dans ta route l'endroit ou tu définira $nb, et que tu mette une valeur par defaut si tu veux pouvoir appeller cette route sans valeur.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    test_inventaire_statistique:
       path:      /inventaire/statistique/{nb}
       defaults: { _controller: testInventaireBundle:Default:statistique, nb:10 }
    Si ca marche, marque comme résolu stp

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Octobre 2015
    Messages : 10
    Par défaut
    Merci pour la rapidité de ta réponse et de ton aide !

    mais malheureusement cela me mais un message d'erreur : No route found for "GET/inventaire/statistique/"

    je suis un peu perdu

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Octobre 2015
    Messages : 10
    Par défaut
    J'ai fais des tests et je remarque que ta solution est bonne mais que le problème est plus compliqué :
    -j'ai tester les même méthodes sur un autre bundle qui était relier a ma première base, la base par defaut.
    donc je pense que le problème proviens du controleur qui ne trouve pas InventaireRepository et donc n'affichant pas le résultat de la requête.

    serai-tu comment résoudre le problème ?

  5. #5
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Quel message d'erreur as tu?

    Ta route semble importée, puisqu'il te dit qu'il te manque $nb.
    Quelle URL utilises-tu dans ton navigateur ?

    Si tu fais app/console router:debug -e=prod tu obtiens quoi pour cette route ? Est-elle présente ?

    Pierre

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Octobre 2015
    Messages : 10
    Par défaut
    C'est bon j'ai réussi a résoudre une partie de mon problème,

    mais maintenant j'aimerais récupérer la variable nb qui se trouve dans mon template statistique.html.twig mais en faisant {{ include ("testInventaireBundleefault:statistique.html.twig") }} dans mon autre template.

    Faudrait il que je mets en paramètre nb dans le include ?

    Merci ton aide est vraiment précieuse :p

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/08/2007, 10h48
  2. Mysql et default value = chaine vide
    Par NoiBe dans le forum JDBC
    Réponses: 3
    Dernier message: 01/03/2007, 14h05
  3. Recuperation de la Default Value d'une colonne
    Par mickeydisn dans le forum Langage SQL
    Réponses: 4
    Dernier message: 07/02/2007, 16h28
  4. default value: date + 3 mois en design view
    Par debdev dans le forum Access
    Réponses: 4
    Dernier message: 19/04/2006, 18h33
  5. [2.0][C#]Proprieté default value non assignée
    Par chnew dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/01/2006, 01h33

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