2016-10-24 3 views
0

Я использую FOSElatica Bundle в своем приложении Symfony.FosElastica index on ManyToMany update update

Я 2 Сущности, с ManyToOne отношения, как это:

Штамм OneToMany на метро

Tube ManyToOne на штамме

Я хотел бы, когда пользователь изменения трубки, что индекс Strain в FOSElastica, но FOSElastica Слушайте события Doctrine для индексации в Elasticsearch, а отношение ManyToOne не активирует триггер на Strain.

Я думаю, что хороший способ - сделать прослушиватель/подписчик на трубке, чтобы вызвать функцию, которая вручную индексирует прикрепленный штамм.

Но я не знаю, какую услугу следует вводить в подписчике и как вручную индексировать в FOSElastica.

ответ

0

Я могу использовать это в своем контроллере: $ this-> container-> get ('fos_elastica.object_persister.index.type') -> replaceOne ($ entity);

$ this-> container-> get ('fos_elastica.object_persister.index.type') -> replaceMany ([$ entity1, $ entity2, $ entity3]);