Я пытаюсь вернуть значения из базы данных с Symfony 4.1, и это было, когда я узнал о Serializer
:
public function __construct()
{
$this->serializer = new Serializer([new ObjectNormalizer()], [new JsonEncoder()]);
}
И затем, мой метод для получения всех результатов:
public function fetchAction()
{
$repository = $this->getDoctrine()->getRepository(Task::class);
$tasks = $this->serializer->serialize($repository->findAll(), "json");
return $this->json([
'tasks' => $tasks
]);
}
Но как-то поле datetime
к нему прикреплен другой объект, который содержит много другой информации мусора.
{
"tasks": "[{\"id\":1,\"description\":\"Lorem ipsum dolor\",\"createdAt\":{\"timezone\":{\"name\":\"Asia\\\/Shanghai\",\"transitions\":[{\"ts\":-9223372036854775808,\"time\":\"-292277022657-01-27T08:29:52+0000\",\"offset\":29143,\"isdst\":false,\"abbr\":\"LMT\"},{\"ts\":-2147483648,\"time\":\"1901-12-13T20:45:52+0000\",\"offset\":28800,\"isdst\":false,\"abbr\":\"CST\"},{\"ts\":-933494400,\"time\":\"1940-06-02T16:00:00+0000\",\"offset\":32400,\"isdst\":true,\"abbr\":\"CDT\"},{\"ts\":-923130000,\"time\":\"1940-09-30T15:00:00+0000\",\"offset\":28800,\"isdst\":false,\"abbr\":\"CST\"},{\"ts\":-908784000,\"time\":\"1941-03-15T16:00:00+0000\",\"offset\":32400,\"isdst\":true,\"abbr\":\"CDT\"},{\"ts\":-891594000,\"time\":\"1941-09-...,
Как я могу удалить все эти ненужные данные? Почему это так или иначе?
Задача ещё не решена.
Других решений пока нет …