У меня есть небольшой REST API в моем проекте. И, конечно, я использую json в качестве моих возвращаемых данных для работы.Symfony конвертировать сущность в формат json путем циклирования foreach
Я использую symfony в backend и angularJs в интерфейсе. На данный момент я конвертирую свою сущность в json, зацикливая истинный результат и заполняя массив данных, чтобы вернуться как json.
Пример:
public function getAction($id)
{
$em = $this->getDoctrine()->getManager();
$warehouseId = $this->get('session')->get('warehouse');
$warehouse = $em->getRepository('BubbleMainBundle:Warehouse')->find($warehouseId);
$trip = $em->getRepository('BubbleMainBundle:Trip')->find($id);
$data = array(
'id' => $trip->getId(),
'driver' => $trip->getDriver(),
'status' => $trip->getStatus(),
'date' => $trip->getPlanningDate()->format('Y-m-d')
);
if (count($trip->getStops()) > 0) {
foreach($trip->getStops() as $stop)
{
$data['assignedStops'][] = array(
'id' => $stop->getId(),
'status' => $stop->getStatus(),
'date' => $stop->getDeliveryDate()->format('Y-m-d'),
'sort' => $stop->getSort(),
'company' => array(
'name' => $stop->getToCompany()->getName(),
'lat' => $stop->getToCompany()->getLat(),
'lng' => $stop->getToCompany()->getLng(),
'address' => $stop->getToCompany()->getAddress(),
'zip' => $stop->getToCompany()->getZip()
),
);
}
} else {
$data['assignedStops'][] = '';
}
$response = new jsonResponse();
$response->setData($data);
return $response;
}
Это работает. Но иногда у меня есть (хронологическая шкала Google Chrome), ожидающая ответа 6 секунд для простого запроса и ответа json.
Является ли переплетение истинным сущностью? Или мне нужен другой подход для преобразования моих объектов в формат json?
ТНХ Антони,