Служба отдыха Apigility — как фильтровать по неуникальному столбцу, используя подключенную базу данных

У меня подключен дб rest сервис, и мне только удалось получить полную коллекцию от database или единое целое ID,

Я не могу найти правильное руководство, чтобы объяснить, как использовать GET параметры URL для фильтрации по другим полям, и как мне выбрать, например, «LIKE» или LIKE %% «или другие операторы по этому вопросу.

2

Решение

Это мой опыт работы с CodeConnected Services. YMMV ..

Получение параметров URL — класс Controller / Resource.

Ваш контроллер должен получить их из $this->getEvent()

 /**
* Fetch a single Entity by ID, with some Query Params
*/
public function fetch($entity_id)
{
// retrieve the query parameters\
$queryParams = $this->getEvent()->getQueryParams();
}

Во-вторых, только параметры, одобренные в вашем module.config.php, пройдут через часть валидатора / фильтра Apigility. Белый список запросов коллекции уведомлений

module.config.php внутри папки модуля вашего сервиса

'ServiceName\\V1\\Rest\\ServiceName\\Controller' => array(
...
'entity_http_methods' => array(
0 => 'GET',
1 => 'PATCH',
2 => 'PUT',
3 => 'DELETE',
),
'collection_http_methods' => array(
0 => 'GET',
1 => 'POST',
),
'collection_query_whitelist' => array(
0 => 'username',
1 => 'entity_provider',
2 => 'entity_type',
3 => 'entity_date_range',
4 => 'sort_by',
5 => 'sort_order'
),
...
3

Другие решения

Других решений пока нет …