ein Artikel, mehrere Content Typen aber nur den ersten holen

StefanR

Erfahrenes Mitglied
Hallo,

ich suche nach einer Möglichkeit, einen Artikel mit allen Contenttypen zu holen (1:n Beziehung) hab aber keine Bedingung, an die ich die Contenttypen binden könnte (zum Beispiel ne Artikel ID oder so). Wie könnte man das am sinnvollsten anstellen, habe schon an Having gedacht oder so, wüsste jetzt aber aus dem Stehgreif nicht, wie ich das benutzen könnte. Jemand ne Idee?
 
Hi,

kannst Du das mal näher erläutern, vielleicht mit (evtl. vereinfachtem) Aufbau Deiner Tabellen, der Beziehungen dazwischen und der Abfrage in Worten beschrieben? Ich verstehe die Problemstellung nämlich so noch nicht. ;)

LG
 
Hallo,

ok als Anhang hab ich die Beziehungen mal rangehängt und als Code noch mal meine Bisherige Query:

Code:
SELECT
  article.created_at,
  `user`.name,
  `user`.vorname,
  `user`.id,
  article.id,
  object_to_article.id,
  object_to_article.content
FROM
 object_to_article
 INNER JOIN article ON (object_to_article.article_id=article.id)
 INNER JOIN `user` ON (article.user_id=`user`.id)
WHERE
  article.deleted = 0 AND
  object_to_article.deleted = 0 AND
  (article.begin = '0000-00-00 00:00:00' OR NOW() BETWEEN article.begin AND article.`end`) AND
  (object_to_article.begin = '0000-00-00 00:00:00' OR
  NOW() BETWEEN object_to_article.begin AND object_to_article.`end`) AND
ORDER BY
  article.`order`,
  object_to_article.`order`

Das Hauptproblem ist eigentlich, dass ich den laut article.order ersten Artikel + seine Contentparts holen will, ohne die Artikel ID zu wissen, falls noch was unklar ist einfach fragen. :)
 

Anhänge

  • article-db.jpg
    article-db.jpg
    32,6 KB · Aufrufe: 12
Hi,

und was liefert diese Query Unerwartetes? Ist der erste Datensatz im Ergebnis nicht der, den Du haben wolltest?

Du hast übrigens keine Sortierfolge(n) angegeben.

Hat es einen bestimmten Sinn, dass in article und object_to_article einige Felder doppelt (also in beiden Tabellen) vorhanden sind?

LG
 
Naja wenn nur ein Artikel vorhanden ist, funktioniert diese Query auch, nur wenn ich mehrere Artikel habe, denn t das net mehr, da er mir ja denn alle Artikel holt, ich will aber nur den der laut artikel.order an erster Stelle steht inkl. seiner Objekte.

Jop das hat den Sinn, das der Artikel von mir eröffnet worden sein kann, aber von nem Kollegen, wir nen Contentobjekt (Bildleiste, Popup - Link etc.) hinzugefügt, so kann ich später genau nachvollziehen, wer welchen Unsinn in den Artikel eingebaut hat. :)
 
Hi,

heißt also, Du willst alle Datensätze zum ersten Artikel. Du kennst zwar die Artikel-ID nicht, könntest sie aber in einer Subquery herausfinden.

Code:
SELECT id FROM article ORDER BY `order` ASC LIMIT 1

oder so...

LG
 
Zurück