我在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中手动编制索引。
答案 0 :(得分:0)
我可以在我的控制器中使用它: $这 - >容器 - >获得(' fos_elastica.object_persister.index.type') - > replaceOne($实体);
$ this-> container-> get(' fos_elastica.object_persister.index.type') - > replaceMany([$ entity1,$ entity2,$ entity3]);