我已安装FOSElasticaBundle来处理搜索并使用以下配置:
fos_elastica:
clients:
default: { host: localhost, port: 9200 }
indexes:
search:
client: default
types:
post:
mappings:
postTitle: ~
postContent: ~
persistence:
driver: orm
model: Shop\Bundle\ManagementBundle\Entity\Post
provider: ~
listener: ~
finder: ~
搜索工作正常,但是当我尝试登录用户时,他已成功登录但我重定向到login_check
路由时出现以下错误:
ContextErrorException:Catchable Fatal Error:传递给的参数1 FOS \ ElasticaBundle \ Doctrine \ Listener :: postUpdate()必须是一个实例 Doctrine \ Common \ Persistence \ Event \ LifecycleEventArgs,实例 给出了Doctrine \ ORM \ Event \ LifecycleEventArgs,调用 C:\ XAMPP \ htdocs中\社区\供应商\ symfony的\ symfony中的\ src \的Symfony \桥\原则\ ContainerAwareEventManager.php 在第63行并在中定义 C:\ XAMPP \ htdocs中\社区\供应商\ friendsofsymfony \弹性弯曲束\原则\ Listener.php 第111行
如果我没有错,login_check
路径正在更新触发user
生命周期事件的用户记录(恰好是postUpdate()
表中的last_login_date字段)。但我无法解决这个问题。 Yout的帮助表示赞赏。
PS:我正在使用FOSUserBundle为数据库中的用户存储。
编辑:上述问题也发生在其他实体持久性生命周期事件(preRemove()...)上。