从Symfony中的Entity序列化嵌套对象的数组/对象

问题描述

我需要以这种方式从特定实体返回Json:

enter image description here

现在我达到了结果:

enter image description here

他带有以下代码


namespace App\Controller;

use App\Entity\LogStatus;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Serializer\SerializerInterface;

class LogController extends AbstractController
{
    /**
     * @Route("/logs/statuses",name="log_statuses",methods={"POST"})
     */
    public function index(EntityManagerInterface $entityManager): Response
    {

        $request = new Request($_POST);
        $data = $request->getContent();
        $data = json_decode($data);
        $data = (array)$data;

        $deviceid = $data['filter'];

        $logStatuses = $entityManager->getRepository(LogStatus::class)
            ->findBy(['deviceid' => $deviceid],['createdat' => 'DESC']);

        return new JsonResponse([
                'rows' => (array)$logStatuses[0]
            ]
        );
    }
}

问题:如何对$logStatuses进行编码,以在不迭代每个对象的情况下获得预期的Json格式(或进行扩展操作)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)