craftcms / element-api

Create a JSON API/Feed for your elements in Craft.
MIT License
498 stars 56 forks source link

OrderBy custom fields does not give correct results #171

Open TomDeSmet opened 1 year ago

TomDeSmet commented 1 year ago

Description

I'm using Element API to load entries and my criteria includes an orderBy clause that references custom fields (a date field dateFromand a lightswitch availability). The criteria is:

[
    'section' => 'events'
    'dateTo' => [
        0 => 'or'
        1 => '>=2022-08-02'
        2 => ':empty:'
    ]
    'orderBy' => 'dateFrom ASC,availability ASC'
]

When I execute the same query in Twig I get totally differently sorted results: {% set initialItems = craft.entries.section("events").dateTo(["or", ">=2022-08-02", ":empty:"]).orderBy("dateFrom ASC,availability ASC") %}

The results from twig are correct (they are the same as when I sort by dateFrom in the index in the CP). The results from Element API don't match. When I use a default field such as postDate or title both return the correct results.

Additional info

i-just commented 1 year ago

Hi, thanks for reaching out. I’m having trouble replicating this one. I get the same ordering in twig and via the elements api. Are you still experiencing this issue?

TomDeSmet commented 1 year ago

Hi there. Yes this is still an issue. We're working on other projects for now, so maybe keep this open en if we come across this again I can hopefully provide you with more leads?