ManyToMany关系的FosElastica索引更新

时间:2016-10-24 09:49:13

标签: symfony foselasticabundle

我在Symfony应用程序中使用FOSElatica Bundle。

我有2个实体,具有像这样的ManyToOne关系:

应变     OneToMany on Tube

管     ManyToOne on Strain

我希望当用户更改Tube时,将Finslastica中的Strain编入索引,但是FOSElastica在Elasticsearch中监听Doctrine事件以进行索引,并且ManyToOne Relation不会激活Strain上的触发器。

我认为一个好的方法是在Tube上执行一个Listener / Subscriber来调用一个手动索引连接的Strain的函数。

但我不知道订阅服务器中注入了哪些服务,以及如何在FOSElastica中手动编制索引。

1 个答案:

答案 0 :(得分:0)

我可以在我的控制器中使用它: $这 - >容器 - >获得(' fos_elastica.object_persister.index.type') - > replaceOne($实体);

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