Generi c способ преобразования doctrine объекта объекта в массив - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу преобразовать любой из моих doctrine объектов в массив (текстовый формат).

Я разрабатываю прослушиватель onFlush, в котором я хочу записывать любые изменения в моих сущностях в файл журнала. Для обновлений я с готовностью получаю массив изменений ($uow->getScheduledEntityUpdates()), но для новых сущностей я хотел бы также записать их начальное состояние (c .f. getScheduledEntityInsertions).

Поэтому я хочу получить ассоциативный массив всех столбцов text и int, а также id всех связанных объектов (чтобы избежать рекурсии и бесконечных проблем l oop).

/** @Entity */
class User
{
    /** @Id @GeneratedValue @Column(type="int") */
    private $id;

    /**
     * Bidirectional - Many users have Many favorite comments (OWNING SIDE)
     *
     * @ManyToMany(targetEntity="Comment", inversedBy="userFavorites")
     * @JoinTable(name="user_favorite_comments")
     */
    private $favorites;

Должно привести к таким объектам, как

[
    'id' => 7,
    'favorites' => [666,777,888]
]

Я не хочу добавлять JmsSerializer. Я беспокоюсь о symfony 4 рамки.

заранее спасибо!

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