loopback где фильтр по дате года - PullRequest
0 голосов
/ 30 мая 2019

Я не уверен, поддерживаются ли функции базы данных через запросы REST API или я что-то не так делаю.Я использую соединитель базы данных mysql.

Я пробовал использовать простой фильтр где с операторами равенства и gte.

{"where":{"YEAR(StartDate)":2018}}

or 

{"where":{"and":[{"YEAR(StartDate)":{"gte":2018}},{"year(StartDate)":{"lte":2020}}]}}

Я не получаю никакой ошибки, и условие фильтра игнорируется, возвращая все записи из таблицы.

1 Ответ

1 голос
/ 30 мая 2019

Вы не можете вызывать функции из запроса, вам нужно передать значения туда. Возможно, вы захотите включить отладчик , чтобы увидеть, что происходит и какие запросы фактически запускаются. Итак, предполагая, что именем поля в базе данных является StartDate, вы, вероятно, захотите использовать что-то вроде этого:

{"where":{ "StartDate": {"gte": new Date('2018-01-01T00:00:00.000Z')}} }

или, если и заявление задействовано

{"where":{"and":[{"StartDate":{"gte":new Date('2018-01-01T00:00:00.000Z')}},{"StartDate":{"lte":new Date('2020-01-01T00:00:00.000Z')}}]}}
...