指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

最近在使用 symfony5 执行$this->json() 返回结果是报错: 主要是Entity 里有ManyToOne的关联关系,然后有相关的解决办法解决办法给 Entity 字段分组,如下格式: User /**

  • @Groups("main") */ private $id;

/**

  • @Groups("main") */ private $filename;

/**

  • @Groups("other")
  • ManyToOne */ private $countries

重要的是,给这个关联关系和其它字段取不一样的Groups 即可,但是这个有问题,当一个Entity有很多个字段的时候,需要加 好多个 Groups 太麻烦了。 上面的写法,用json输出就是: return $this->json( $user, 200, [], [ 'groups' => ['main'] ] );

后来我研究了一下,只要取消 $countries 的 getCountries() 方法就可以了,保留setCountries()方法,这样在json()输出(serializer)以后 就不会报错了。