我在用户和图书之间有多对一的关系,在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"。
答案 0 :(得分:0)
在您看来,没有必要调用getFollowed。 就这样做:{%if follow.followed%}
答案 1 :(得分:0)
您正在getFollowed()
对象上调用User
方法,但实际的方法实现似乎在Follow
类中(如果这是类的名称)从你的第一个代码部分开始。)