Как фильтровать между двумя датами с помощью фильтра даты в платформе API - PullRequest
0 голосов
/ 06 июня 2019

Я использую API Platform вместе с Symfony 4 и пытаюсь использовать фильтр даты, как описано здесь: https://api -platform.com / docs / core / filters /

когдая использую фильтр вот так .... что-то? _page = 1 & lieferdat [после] = 2018-12-01 & lieferdat [до] = 2018-12-30

ответ гидры показывает, что скобки закодированы в URL ия думаю, что он не работает должным образом, так как я получаю все результаты вместо отфильтрованных.В своей сущности я добавил DateFilter как любой другой фильтр, который кажется правильным.

Ответ Hydra: "что-то? Lieferdat% 5Bafter% 5D = 2018-12-01 & lieferdat% 5Bbefore% 5D = 2018-12-30 & _page= 1 "

Кто-нибудь может объяснить, могу ли я использовать скобки в своих запросах или лучше: Кто-нибудь может предоставить работающую реализацию фильтра даты для платформы Api, которая демонстрирует, как фильтровать между двумя датами?

Спасибов совете, С наилучшими пожеланиями

1 Ответ

0 голосов
/ 07 июня 2019

Хорошо, я отвечаю на свой вопрос .. Ответ на мой вопрос: распознаются ли эти кодированные скобки в платформе Symfony api? ответ: ДА

После проб и ошибок с Почтальоном, я все заработал.

Когда я заказываю мой запрос в обратном порядке:

вместо

something?lieferdat[after]=2019-03-01&lieferdat[before]=2019-03-31

я перевернул это на

something?lieferdat[before]=2019-03-31&lieferdat[after]=2019-03-01

который сработал!

Единственное, что иногда, если я указываю месяц, я иногда получаю 1-2 значения по сравнению с предыдущим месяцем, а это не то, что я хотел, и это сбивает меня с толку. Я пытался использовать

?lieferdat[strictly_before]=2019-03-31&lieferdat[strictly_after]=2019-03-01

но это не принесло эффекта.

Edit2: Хорошо, ответ прост, в моей сущности я определил поисковый фильтр, но я не определил свойство, с которым работает этот фильтр, поэтому он работает со всеми свойствами даты в этой сущности

Любая помощь по-прежнему ценится:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...