[gelöst] Filter für zeitgesteuertes Publizieren
In meinem Metamodel habe ich zwei Felder date_start (timestamp) und date_end (timestamp) definiert.
Nun möchte ich die Liste im Frontend so vorfiltern, dass nur Einträge angezeigt werden, bei denen
ENTWEDER: kein date_start und kein date_end definiert ist
ODER: der aktuelle timestamp > date_start ist
ODER: der aktuelle timestamp < date_end ist
ODER: der aktuelle timestamp > date_start UND der aktuelle timestamp < date_end ist
Meine Versuche mit einem "eigenes SQL" Filter haben leider keinen erfolg gebracht :-(
Vielleicht hat jemand einen Tipp, wie dies zu lösen ist.
Vielen Dank!
Liste der Anhänge anzeigen (Anzahl: 1)
Hi!
Ich habe mir die Abfragen angeschaut und versucht diese in mein MetaModel zu integrieren. Leider nur mit mässigem Erfolg :-(
So sehen die Filter nun aus:
Anhang 12061
Definierte SQL-Queries:
- SELECT id FROM mm_rs_article WHERE NOW() > FROM_UNIXTIME(date_start) AND NOW() < FROM_UNIXTIME(date_end)
- SELECT id FROM mm_rs_article WHERE NOW() < FROM_UNIXTIME(date_end)
- SELECT id FROM mm_rs_article WHERE NOW() > FROM_UNIXTIME(date_start)
- SELECT id FROM mm_rs_article WHERE date_start > date_end
- SELECT id FROM mm_rs_article WHERE date_start IS NULL AND date_end IS NULL
- SELECT id FROM mm_rs_article WHERE date_start IS NULL
Ich habe der Reihe nach die Queries aktiviert. Query Nr. 1-3 funktioniert und es werden nur noch die Einträge anzeigt, bei denen date_start und date_end gesetzt und im entsprechenden Zeitraum sind.
Sobald Query Nr. 4, 5 oder 6 aktiv sind, werden überhaupt keine Einträge mehr angezeigt :-(
Hier mal die Debug-Ausgabe zu den Filtern:
Code:
[26] => Array
(
[0] => SELECT id FROM mm_rs_article WHERE NOW() > FROM_UNIXTIME(date_start) AND NOW() < FROM_UNIXTIME(date_end)
[1] => 1 rows returned
[2] => Array
(
[id] => 1
[select_type] => SIMPLE
[table] => mm_rs_article
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 7
[Extra] => Using where
)
)
[27] => Array
(
[0] => SELECT id FROM mm_rs_article WHERE NOW() < FROM_UNIXTIME(date_end)
[1] => 2 rows returned
[2] => Array
(
[id] => 1
[select_type] => SIMPLE
[table] => mm_rs_article
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 7
[Extra] => Using where
)
)
[28] => Array
(
[0] => SELECT id FROM mm_rs_article WHERE NOW() > FROM_UNIXTIME(date_start)
[1] => 1 rows returned
[2] => Array
(
[id] => 1
[select_type] => SIMPLE
[table] => mm_rs_article
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 7
[Extra] => Using where
)
)
[29] => Array
(
[0] => SELECT id FROM mm_rs_article WHERE date_start > date_end
[1] => 0 rows returned
[2] => Array
(
[id] => 1
[select_type] => SIMPLE
[table] => mm_rs_article
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 7
[Extra] => Using where
)
)
Muss man die einzelnen Abfragen mit UND-Bedingungen bzw. ODER-Bedingungen kombinieren?