J'ai fondamentalement trois différentes classes d'éléments que je veux afficher sur un mur d'utilisateurs: les notes, les commentaires et les mises à jour. Ces trois sont complètement différentes entités, mais parce qu'ils peuvent tous apparaître sur un mur d'utilisateurs, je les appelle juste "wallitem". Tous ont une propriété timestamp, qui représente la date à laquelle ils ont été créés.MySQL: Fusionner différentes entités en une seule requête
Je souhaite que les utilisateurs puissent parcourir les éléments de la paroi, classés par horodatage. Par exemple: les 10 derniers wallitems. Ou wallitems 20 à 30. Y at-il une requête MySQL qui me donne les 10 derniers "wallitems", même si toutes les différentes entités ont des colonnes différentes?
Je pourrais imaginer, récupérer une liste d'éléments, où chaque élément a toutes les propriétés de toutes les différentes entités, une propriété supplémentaire définissant le type (par exemple "rating"), si elle est en fait une note, tous les autres propriétés sont juste nulles. J'aimerais utiliser un tel dicationary dans mon code php:
foreach ($wallItemArray as $item) {
if ($item['type'] == "rating") {
$rating = $item; // use it as normal "rating"-entity
} else if ($item['type'] == "comment") {
$comment = $item; // use it as normal "comment"
}
// and so on for all different entities that could represent a wallitem in this context
}
Peut-être un syndicat choisir? – thejh