2016-08-01 37 views
0

Ich habe zwei Projekte:Filter Datensätze nach Projekt in typo3 Datenbank

1. ProjectFOO mit Root-Seite UID 85

2. ProjectBAR mit Root-Seite UID 1

Projects

Beide Projekte sind die Erweiterung ke_search. Ich brauche den Datensatz pages aus der Tabelle zu aktualisieren tt_content wo list_type ist „ke_search_pi1“, sondern nur von ProjektFOO.

Das ist mein sql so weit:

UPDATE `tt_content` SET `pages` = 42 WHERE `list_type` = ke_search_pi1; 

Problem: Diese SQL-Abfrage pages von jedem Projekt bis 42, statt der Auswahl nur Datensätze aus ProjectFOO gesetzt werden.

Was muss ich in meinem WHERE-Anweisung enthalten, um nur Datensätze aus ProjectFOO zu wählen?

Antwort

2

Es gibt keine root_pid Spalte in der Seiten-Tabelle. Sie müssten also die Datensätze rekursiv abrufen.

Es gibt einen Beitrag über Datensätze rekursiv Auswahl: How to do the Recursive SELECT query in MySQL?

Auf diese Weise können alle UID erhalten können ROOT PID gehör 85. Nachdem Sie die temporäre Tabelle erstellen Sie diese verwenden können Ihre tt_content Tabelle zu aktualisieren.