我正在嘗試使用JMS序列化器序列化一個實體關係。僅使用JMS序列化器將實體關係序列化到ID
這裏是實體:
class Ad
{
/**
* @Type("string")
* @Groups({"manage"})
*
* @var string
*/
private $description;
/**
* @Type("Acme\SearchBundle\Entity\Country")
* @Groups({"manage"})
*
* @var \Acme\SearchBundle\Entity\Country
*/
private $country;
/**
* @Type("string")
* @Groups({"manage"})
*
* @var string
*/
private $title;
/**
* Set description
*
* @param string $description
* @return Ad
*/
public function setDescription($description)
{
$this->description = $description;
return $this;
}
/**
* Get description
*
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Set country
*
* @param \Acme\SearchBundle\Entity\Country $country
* @return Ad
*/
public function setCountry($country)
{
$this->country= $country;
return $this;
}
/**
* Get country
*
* @return string
*/
public function getCountry()
{
return $this->country;
}
/**
* Set title
*
* @param string $title
* @return Ad
*/
public function setTituloanuncio($title)
{
$this->title = $title;
return $this;
}
/**
* Get title
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
}
以及關係的實體:
class Country
{
/**
* @Type("string")
* @Groups("manage")
*
* @var string
*/
private $id;
/**
* @Type("string")
* @Groups("admin")
*
* @var string
*/
private $description;
/**
* Set description
* @Groups("")
*
* @param string $description
* @return Country
*/
public function setDescripcionpais($description)
{
$this->description = $description;
return $this;
}
/**
* Get description
*
* @return string
*/
public function getDescription()
{
return $this->description;
}
}
/**
* Get id
*
* @return string
*/
public function getId()
{
return $this->id;
}
}
序列化的實體,但我不知道如何將國家轉換屬性轉換爲簡單的現場。
我得到這樣的結果在JSON:
{"description":"foo", "title":"bar", "country":{"id":"en"} }
但我希望得到國家的ID字段是這樣的:
{"description":"foo", "title":"bar", "country": "en" }
有可能與JMS串行?
謝謝。
[編輯]
@VirtualProperty不起作用。
謝謝!適合我。我只需要序列化。 – escrichov
@VirtuaProperty不起作用。你可以給我一個例子嗎? – escrichov
我很抱歉,我正在度假,沒有上網。我注意到你不接受然後接受的答案。你有沒有設法使它工作? –