Empfehlungen: Erweiterte Suche

Datenbank Abfrage nach Liste von ID's sortieren.

Daten auslesen, verarbeiten und den Views übergeben

Datenbank Abfrage nach Liste von ID's sortieren.

Beitragvon stockii » Di 15. Jun 2010, 16:38

Hallo. Ich bin eig relativ fit in cakePHP aber, hier weiss ich nicht weiter =(

Ich habe ein Array was nur aus ID's besteht.
Array = ([0] => 273192 [1] => 423894);

Ich hole mir dann alle Daten mit ...find('all'); aus der Datenbank. Das was ich zurückbekomme ist aber unsortiert.
Das Ergebniss muss aber genauso sortiert sein, wie das ID-Array !!!

Mein SQL-Befehl würde in etwa so aussehen:
select * from items WHERE ID IN (12346, 4864, 456496, 5666, ... ) ORDER BY id=12346, id=4864 , ...

Funktioniert aber nicht mit dem 'order' Parameter in der find()-Funktion. Oder geht das doch ? Wenn ja, WIE ???

danke schonmal =)
stockii
 
Beiträge: 6
Registriert: Di 15. Jun 2010, 16:32

Re: Datenbank Abfrage nach Liste von ID's sortieren.

Beitragvon euromark » Di 15. Jun 2010, 16:48

wenn die ordnung relevant ist, muss man mit joins arbeiten
immerhin kommen die ids ja von irgendwoher

einfach so geht das jedenfalls nicht
euromark
 
Beiträge: 618
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.1
OS: Windows

Re: Datenbank Abfrage nach Liste von ID's sortieren.

Beitragvon stockii » Di 15. Jun 2010, 17:07

die ID's kommen von der Suche, also von Solr.

Davon abgesehen kann ich bei der Menge von Daten ~4 Millionen Produkte, nicht mit JOINS arbeiten. =(

Zum übergang hole ich mir jedes Produkt einzeln aus der DB, aber so will ich das eigentlich nicht lassen ...
stockii
 
Beiträge: 6
Registriert: Di 15. Jun 2010, 16:32

Re: Datenbank Abfrage nach Liste von ID's sortieren.

Beitragvon euromark » Di 15. Jun 2010, 19:06

*LOOL*
gerade wenn man mit einer solch großen menge arbeitet, benutzt man joins
sinnvoll eingesetzt eben - also keine full outer joins
euromark
 
Beiträge: 618
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.1
OS: Windows


Zurück zu Controller

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast