Symfony Doctrine с FosElasti c как искать из ORM и Elasti c вместе? - PullRequest
0 голосов
/ 25 февраля 2020

Например

моя сущность имеет поля:

id (int)

title (text) (также хранится в elasti c)

контент (текст) (хранится также в elasti c)

categoryId (int)

status (int)

, и я хочу искать текст из заголовка, контента я использую

//RepositoryManagerInterface $finder
$results = $finder->getRepository(Offer::class)->find('AUDI A6 C6 2.0');

, когда я хочу найти пример в базе данных по categoryId

$offers = $this->getDoctrine()->getRepository(Offer::class)->customOfferQueryBuilderWithResult(['categoryId'=>5]);

как искать его вместе? я должен хранить категорию также в elasti c?

1 Ответ

0 голосов
/ 07 марта 2020

Попробуйте это:

//Repository method

/**
 * @param int $id
 * @return Query
 */
public function getByOfferId(int $id): Query
{
    $terms = new Terms('categoryId', [$id]);
    $boolQuery = (new BoolQuery())->addMust($terms);
    return (new Query())->setQuery($boolQuery);
}
...