я использую Учение 2 ОРМ сопоставить мою таблицу SQL в объекты.
Есть ли способ поддержки, как asArray
который конвертирует мои объекты в массив?
Вы можете просто использовать getArrayResult
метод, который упоминается здесь внутри глава документации Doctrine 2 14.7.4.2. Массив гидратации:
$array = $query->getArrayResult();
Это короткая запись для, и делает точно так же, как, этот ответ что это @Joucks указывает на в его комментарий:
$array = $query->getResult(Query::HYDRATE_ARRAY);
Но вам не обязательно смотреть на конкретные решения Doctrine ORM для такой функциональности сериализации. Вы также можете посмотреть на решения, которые поставляются с PHP-фреймворком, который вы используете.
Например, если вы используете Zend-Framework, вы можете реализовать ArraySerializableInterface
внутри объектов, которые вы хотите иметь возможность сериализовать в массив.
Этот интерфейс включает в себя getArrayCopy
метод, который должен возвращать объект, сериализованный в массив.
Вы можете прочитать больше о ArraySerializable
внутри Zend-Framework 2 Zend\Stdlib
документация
Symfony поставляется с этот компонент сериализатора.
Для других фреймворков я ожидаю, что они поставляются с аналогичными интерфейсами / решениями.
Других решений пока нет …