如何禁用序列化期间所有相关实体的自动加载?

时间:2019-06-10 12:11:17

标签: symfony jms jmsserializerbundle

使用JMS的Symfony 4。

Parent类与OneToMany子类相关联。在存储库中,我有一些父母和一些孩子(带有条件的leftJoin)。但是,当尝试序列化Parents时,JMS会自动从数据库中获取所有(!)子级,从而对数据库进行其他查询。如何避免这种情况? JMS配置中是否有任何选项?

我唯一想到的是VirtualProperty()版本,其中将过滤实体中已经存在的子代。但这不是很有效。

UPD 。 我要序列化此字段,但不是所有子实体。只满足条件。在存储库中,我执行->leftJoin('p.children', 'c', 'WITH', 'c.foo = bar'),但是序列化程序通过单独的请求加载不在条件中的元素。这是问题

1 个答案:

答案 0 :(得分:0)

使用序列化组选择所需的属性,并使用maxDepth限制子级?