无法从 prePersist 事件侦听器访问 OrderHasComment 公共方法



我正在尝试从侦听器上的prePersist()访问setUser()方法,但出现此错误:

致命错误异常: 错误: 调用未定义的方法 PL\OrderBundle\Entity\Order::setUser() in /var/www/html/apps/portal_de_logistica/src/PL/OrderBundle/Listener/OrderHasCommentListener.php 23号线

这是方法:

/**
 *
 * @param LifecycleEventArgs $args 
 */
public function prePersist(LifecycleEventArgs $args) {
    $entity = $args->getEntity();
    $user = $this->container->get('security.context')->getToken()->getUser();
    $entity->setUser($user);
}

为什么它访问Order而不是OrderHasComment?我如何解决这个问题?我做错了什么?

doctrine.event_listener将侦听应用程序中的所有实体,如果您只想对"OrderHasComment"实体进行操作,只需检查类的实例。

    if ($entity instanceof OrderHasComment) {
        $entity->setUser($user);
    }

相关内容

  • 没有找到相关文章

最新更新