1 回答

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
您應(yīng)該看看JMS Serializer,它是一個(gè)用于序列化對象的強(qiáng)大庫,您可以通過配置哪些字段應(yīng)該保留在序列化過程中,輕松地在實(shí)體上使用 @Groups 注釋來完成您的要求。
書.php
use JMS\Serializer\Annotation\Groups;
class Book {
/** @Groups({"Concise"}) */
private $id;
/** @Groups({"Concise"}) */
private $name;
/** @Groups({"Concise"}) */
private $authors;
...
}
如果您只想在序列化圖書實(shí)體時(shí)檢索作者姓名,只需在姓名字段上添加@Groups 注釋。
作者.php
use JMS\Serializer\Annotation\Groups;
class Author {
private $id;
/** @Groups({"Concise"}) */
private $name;
private $books;
...
}
然后
use JMS\Serializer\SerializerBuilder;
use JMS\Serializer\SerializationContext;
$serializer = SerializerBuilder::create()->build();
$context = SerializationContext::create()->setGroups(array('Concise'));
$json = $serializer->serialize($book, 'json', $context);
- 1 回答
- 0 關(guān)注
- 143 瀏覽
添加回答
舉報(bào)