|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Futur Membre du Club
![]() Inscription : janvier 2011 Messages : 38 ![]() |
Bonjour à tous,
Je rencontre actuellement un soucis avec une requête DQL. Je cherche à afficher les pôles auxquels un membre appartient, mais pour une raison que j'ignore, une seule ligne s'affiche sur ma page. Tout d'abord, voici le script SQL de création des 2 tables : Code :
Voici maintenant la requête DQL que j'effectue : Code :
Code :
SELECT p.nom AS p__0 FROM poles p INNER JOIN membres_poles_postes m ON p.id = m.poles AND (m.membres = 1) p__0 Technique Espoir Or, sur ma page web, seul "Technique" s'affiche. Pour exploiter mon résultat, j'utilise une boucle foreach(). Je ne pense pas exploiter de manière incorrecte mon résultat car sur une requête plus simple, tout s'affiche, par exemple avec cette requête DQL : Code :
Ce qui me donne les résultats suivant dans MySQL : p__0 Séniors Juniors Espoir Technique Pédagogie Communication Bureau et je retrouve bien tous ces résultats sur ma page internet. Ce que je trouve vraiment étrange, c'est que lorsque je place un compteur dans ma boucle foreach() exploitant les résultats avec un compteur, celui-ci n'est pas incrémenté, comme si la première requête me renvoyait uniquement une ligne, hors, l'exécution dans MySQL montre le contraire. Si quelqu'un arrive à voir l'origine du problème, je suis preneur ! Merci d'avance pour votre aide ! Wapiti89 |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Tu pars a priori sur un mauvais pied. En effet, tu parts d'une base préexistante (depuis laquel tu vas certainement générer ton shema.yml).
Hors ceci ne doit être utilisé que s'il n'est vraiment pas envisageable de faire autrement. L'idéal consiste à créer un shema.yml correcte et de l'utiliser pour générer entre autre la base. En effet, le shema.yml va décrire la base mais il va aussi décrire le fonctionnement des entités (table du côté de doctrine) et les relations entre les entités. Mets ton shema.yml on va voir comment l'optimiser pour ta base, tes requête en découleront naturellement.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 | ||
|
Futur Membre du Club
![]() Inscription : janvier 2011 Messages : 38 ![]() |
Bonsoir et merci de ton intérêt !
Comme demandé, voici mon schéma yaml pour les 2 tables citées dans mon premier post : Code :
|
||
|
|
00
|
|
|
#4 | ||
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
C'est un peu ce que je craignais, ton shema est manifestement la récupération brute de celui d'une base pré-existante. C'est la moins bonne manière de commencer une application, à ne faire que s'il n'est réellement pas possible de faire autrement (base existante et qui ne peut être modifiée). Dans ce cas, la seul récupération du shema.yml ne peut suffire, il doit servir de support et être presque entièrement réécrit.
Le bout de ton code "à ma façon" Code :
Travail sur un shema.yml et génère ta base depuis ce dernier, c'est la meilleur (seul) méthode.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
||
|
00
|
Copyright © 2000-2012 - www.developpez.com