|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre régulier
![]() Développeur Web Inscription : septembre 2008 Messages : 253 ![]() |
Bonjour,
J'ai deux tables avec différentes structures, mais qui possède des attributs en commun. J'aimerai pouvoir les joindre en les triant par date. Dans mon contrôleur : Code :
Du genre : Code :
|
||||
|
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Une bonne boite de paracétamol
![]() Plus sérieux, c'est infaisable au niveau de la base de donnée, sauf si les structure des deux tables ont un segment commun. même nom de champ et même taille pour ce que tu veux traiter ainsi. Il est alors possible de faire une requête (SQL) d'union et d'utiliser cette requête pour faire un tri. A ma connaissance ceci n'est réalisable qu'avec Oracle. Avec les outils dont tu disposes tu peux aussi utiliser la notion d'héritage dans Doctrine. Créer une table "racine" et la faire hériter vers tes deux tables. Par contre, cela va signifier que tous les champs seront disponibles pour chaque enregistrement quelque soit sa source. Tu peux aussi créer une table centrale et deux tables de compléments d'informations. Et, en dernier recours, si c'est uniquement pour un affichage, tu peux faire deux requêtes qui retournerons deux tableaux (array) en utilisant les notions doctrine d'"hydratation". Il faudra que ces deux tableaux soient identique dans leurs structures. Ensuite tu les joins et tu les tries. Ceci ne marchera que si la quantité de données à traiter reste minime (pas pour des dizaines de milliers d'enregistrement ! )
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Développeur Web Inscription : septembre 2008 Messages : 253 ![]() |
J'ai posté ce message quand j'ai justement commencé à en avoir mal à la tête !
J'étais parti sur l'héritage dans un premier temps mais j'y ai plus tard renoncé car cela ne m'arrangeai pas vraiment. Je vais peut-être opter pour un traitement hors contexte... en javascript ! C'est assez rapide je pense, je ne pense pas avoir plus d'une centaine de résultats réunis. Merci |
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Sauf à partir sur de l'oracle...
Et une fois les modifications de la structure (héritage ou autre) oubliés. Il ne te reste que le traitement local où le traitement par tableau en PHP. Note que, si tu as le besoins de traiter en une fois les données de deux tables, c'est qu'il est probable qu'elle n'auraient dû n'en faire qu'une la majeur partie du temps.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Développeur Web Inscription : septembre 2008 Messages : 253 ![]() |
Oui, elles n'auraient du en faire qu'une seule, elles l'ont été pendant un moment, mais trop de traitements différents ont fait trop de complexité.
J'utilise MySQL, j'ai aussi pensé à générer une pseudo vue matérialisée pour rassembler les tables pour les cas où ces objets sont liés, mais niveau performance, c'est pas top ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com