2015-05-19 7 views
6

Voglio creare un SQL usando il lavoro di chiavi 'between' in Elixir Ecto.Come creare un SQL usando 'between' in Elixir Ecto

so come creare uno SQL utilizzando like

where: like(t.descript, ^some_description)

Ma quando provo a farlo nello stesso modo come like

where: between(t.start_date, ^start_date, ^end_date),

ho avuto la "non valida "msg di errore

** (Ecto.Query.CompileError) `between(t.start_date(), ^start_date, ^end_date)` is not a valid query expression.** 

Come posso farlo nel modo giusto?

Grazie in anticipo !!

risposta

11

Non credo che Ecto fornisca una clausola between. Puoi raggiungere il tuo compito utilizzando

where: t.start_date >= ^start_date, 
where: t.start_date <= ^end_date 
+0

Intendi 'start_date <=^end_date'? –

+0

sì, giusto. corretto. @RamonSnir – shankardevy

+5

Solo per gli altri, puoi combinarli in una riga con un 'e'. 'dove: t.start_date> =^start_date e t.start_date <=^end_date'. – Dustin