Entrées de commande par DATEDIFF

Oct 27 2020

J'essaie de classer les résultats d'une requête d'entrées par la différence entre deux champs de date mais je n'arrive pas à le faire fonctionner.

Voici ma requête:

{% set todaysStreamsParams = {
  section : 'films',
  orderBy : "DATEDIFF(`screeningDateFirst`, `screeningDateLast`) DESC",
  limit   : 5,
} %}

{% set todaysStreams = craft.entries(todaysStreamsParams).all() %}

Mais j'obtiens l'exception de base de données suivante:

Unknown column 'screeningDateFirst' in 'order clause.

Des conseils?

Réponses

1 DocumentServices Oct 27 2020 at 08:43

En creusant un peu, il semble que des requêtes d'ordre plus complexes doivent être entièrement élaborées. Je me suis ajusté comme suit pour que cela fonctionne:

orderBy : "DATEDIFF(`content`.`field_screeningDateFirst`, `content`.`field_screeningDateLast`) DESC",