属性“getFollowed”和方法之一“getFollowed()”,“getgetFollowed()”/“isgetFollowed()”

问题描述 投票:0回答:2

我在用户和书籍之间有多对一的关系,在Follow表中,我试图获取与书籍相关的用户的对象属性。 Bellow是Followed表中的关系定义

/**
     * @var User
     *
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\User")
     */
    private $followed;
/**
     * Set followed
     *
     * @param User $followed
     *
     * @return Follow
     */
    public function setFollowed(Users $followed = null)
    {
        $this->followed = $followed;

        return $this;
    }

    /**
     * Get followed
     *
     * @return Users
     */
    public function getFollowed()
    {
        return $this->followed;
    }

下面是我的控制器定义将控件传递给树枝

$em = $this->getDoctrine()->getManager();

        $me = $this->getAuthedUser(1);

        $follows = $em->getRepository("AppBundle:Follow")->findBy(["follower" => $me]);
        $followeds = [];
        foreach ($follows as $follow) {
            $followeds[] = $follow->getFollowed();
        }

        $followables = $em->getRepository("AppBundle:User")->findAll();



        return $this->render("@App/index.html.twig", [
            "me" => $me,
            "followeds" => $followeds, //this
            "followables" => $followables,
        ]);

在我的视图中尝试此操作时,我在这行代码中遇到错误

{% if followed.getFollowed() %} //error at this line of code

这是错误

属性“getFollowed”和方法“getFollowed()”,“getgetFollowed()”/“isgetFollowed()”或“call()”之一都不存在,并且在类“Proxies__CG \ AppBundle \ Entity \ User”中具有公共访问权限。

php symfony
2个回答
0
投票

在您的视图中,没有必要调用getFollowed。就这样做:{%if follow.followed%}


0
投票

您在getFollowed()对象上调用User方法,但实际的方法实现似乎在Follow类中(如果这是您的第一个代码部分中的类的名称)。

© www.soinside.com 2019 - 2024. All rights reserved.