У меня есть объект (элемент), который имеет отношение «многие к одному» к другому объекту (типу), объявленному здесь:
/**
* @ORM\ManyToOne(targetEntity="Type", inversedBy="item")
* @ORM\JoinColumn(name="type_id", referencedColumnName="id", nullable=true)
* @Expose
*/
protected $itemType;
И когда я сериализую элементы, он включает другие атрибуты ссылочного объекта (Тип), когда все, что мне нужно, это просто идентификатор:
item_type: {
id: 1
},
вместо этого:
item_type: {
id: 1,
name: "Case & Cover",
description: "Keep your phone safe with stylish cases and covers"
},
Я прочитал документацию и протестировал группы и максимальную глубину, но не повезло, и просматривая проблемы, с которыми я столкнулся, это: https://github.com/schmittjoh/JMSSerializerBundle/issues/61#issuecomment-3297955
эта функция уже включена?
используя "jms/serializer-bundle": "dev-master"
ИЗМЕНИТЬ
это образец сериализованного объекта с ассоциациями:
{
id: 1,
name: "iPhone 5c Slim Genuine Leather Portfolio Case with Stand - Classic Black",
price: 29.95,
description: "...",
image: "1.jpg",
item_type: {
id: 1,
name: "Case & Cover"
},
item_brand: [
{
id: 1,
name: "Apple"
}
]
}
что я действительно хотел, так это (без каких-либо дополнительных атрибутов связанного объекта): (используя JMS Serializer, поскольку это потрясающая библиотека:))
{
id: 1,
name: "iPhone 5c Slim Genuine Leather Portfolio Case with Stand - Classic Black",
price: 29.95,
description: "...",
image: "1.jpg",
item_type: {
id: 1
},
item_brand: [
{
id: 1
}
]
}