【发布时间】:2017-12-18 13:10:09
【问题描述】:
我正在尝试返回与实体相关的 cmets 列表。查询结果在运行和返回时,相关字段没有提供有意义的结果。
这里是评论实体声明
/**
* @var Books
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Books")
*/
private $imagefk;
/**
* @var User
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Users")
*/
private $userfk;
这是我的控制器 sn-ps 代码,用于获取用户对特定书籍的所有评论
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"
【问题讨论】: