Удалите массивы из возврата API остальных - PullRequest
0 голосов
/ 17 сентября 2018

Я использую остальные API на моем проекте, и у меня есть проблема. Поле моей сущности:

/**
 * @ORM\OneToMany(targetEntity="AppBundle\Entity\Config", mappedBy="test", cascade={"persist"})
 * @Serializer\Expose
 * @Serializer\Groups({"v2"})
 */
private $configurations;
....
public function __construct()
{
    $this->configurations = ArrayCollection();
}

В моем возвращении есть:

 "configurations": [
    {
        "id": 52,
        "name": null,
    }
],

Но я хочу удалить массив и вернуть только конфигурации объектов, например:

"configurations": {
    "id": 52,
    "name": null,
}

Таким образом, идея состоит в том, чтобы получить только один элемент из массива конфигураций и вернуть его. Пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Вы можете сделать что-то подобное.

Добавить свойство и использовать Accessor аннотация.

/**
 * @Serializer\Accessor(getter="getFirstConfiguration")
 */
private $firstConfiguration;

public function getFirstConfiguration()
{
    return $this->configurations->first();
}
0 голосов
/ 17 сентября 2018

Если вы используете Jms, вы можете использовать такие события, как onPreSerialize метод. Чем вы должны поместить свой первый элемент в виртуальную собственность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...