从symfony json结果中的相关数据返回对象的属性

我正在尝试返回与实体相关的注释列表。查询结果在运行并返回时,相关字段不提供有意义的结果。从symfony json结果中的相关数据返回对象的属性

这里是注释实体声明

/** 

* @var Books

*

* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Books")

*/

private $imagefk;

/**

* @var User

*

* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Users")

*/

private $userfk;

这是代码的我的控制器片段,其获取用户的评论在特定图书

private function serializeComments(Comments $cmt) { 

return array(

'message' => $cmt->getMessage(),

'userid' => $cmt->getUserfk(),

'bookid' => $cmt->getBookfk(),

);

}

下面的函数调用上面的函数的所有评论

public function getAllCommentsAction($books) 

{

$messages = $em->getRepository("AppBundle")->findBy(

array(

"imagefk" => $books

)

);

$data = array();

foreach ($messages as $message)

{

array_push($data, $this->serializeComments($message));

}

$response = new Response(json_encode($data), 200);

$response->headers->set('Content-Type', 'application/json');

return $response;

}

这里是尝试的结果

[{"message":"This is comment for a user one","userid":{"__initializer__":{},"__cloner__":{},"__isInitialized__":false},"bookid":{"path":"http:\/\/10.0.2.2:88\/xxx\/web\/uploads\/pdf\/5ub3uy8zv09cee2avi11.pdf"}} 

请我怎样才能从这个结果返回的对象的属性,而不是这个

"userid":{"__initializer__":{},"__cloner__":{},"__isInitialized__":false},"bookid":{"path":"http:\/\/10.0.2.2:88\/xxx\/web\/uploads\/pdf\/5ub3uy8zv09cee2avi11.pdf" 

回答:

尝试访问对象的属性:

'userid' => $cmt->getUserfk()->getId(), 

代替

'userid' => $cmt->getUserfk(), 

希望这个h elp

以上是 从symfony json结果中的相关数据返回对象的属性 的全部内容, 来源链接: utcz.com/qa/263578.html

回到顶部