/** * Applies the API query on the model query through this strategy * @param \ride\library\http\jsonapi\JsonApiQuery $jsonApiQuery * @param \ride\library\orm\query\ModelQuery $modelQuery * @return null */ public function applyFilter(JsonApiQuery $jsonApiQuery, ModelQuery $modelQuery) { $query = $jsonApiQuery->getFilter('elastic', null); if (!$query) { return; } $model = $modelQuery->getModel(); if ($model->getMeta()->isLocalized()) { $query = str_replace(array('%locale%', '%25locale%25'), $modelQuery->getLocale(), $query); } $parameters = array('query' => $query, 'limit' => $jsonApiQuery->getLimit(50), 'offset' => $jsonApiQuery->getOffset()); $result = $this->search->searchByQueryString($model, $parameters); $this->search->applyResultToModelQuery($result, $modelQuery); }