В настоящее время я использую следующий подход для retreiving данных по запросу:Как сгенерировать SQL из запроса?
/**
* @QueryParam(name="filters", nullable=true, map=true, description="Filter by fields. Must be an array ie. &filters[id]=3")
*/
public function cgetAction(ParamFetcherInterface $paramFetcher)
{
$filters = $paramFetcher->get('filters') ?: [];
$em = $this->getDoctrine()->getManager();
$entities = $em->getRepository($this->entityClassName())
->findBy($filters);
return $entities;
}
Но мне нужно something like this: задать сложные условия в запросе GET, например
?filter={"where":{"or":[{"id":1},{"id":2},...,{"id":20"},{"id":21}]}}
?filter[where][date][gt]=2014-04-01T18:30:00.000Z
?filter={"where": {"keywords": {"inq": ["foo", "bar"]}}}
?filter[where][and][0][title]=My%20Post&filter[where][and][1][content]=Hello
- и т.д.
и получать данные из хранилища в соответствии с этим запросом.
Существует ли какой-либо комплект для Symfony для этой цели? Будем рады любому совету.
Вы понимаете, что это относится только к монгодбам? –
не похож, но нашел это интересное https://api-platform.com/docs/core/filters (да, его основано на Symfony) – Vamsi
@Alex Blex, я использую только PostgreSQL. – mnv