Php 如何在Symfony 4中隐藏模型/实体中的特定列

Php 如何在Symfony 4中隐藏模型/实体中的特定列,php,laravel,symfony,doctrine,Php,Laravel,Symfony,Doctrine,在Symfony 4中,我有一个用户实体,其基本字段为id、firstname、lastname和password。使用find()方法隐藏密码字段的最简单方法是什么?例如,在Laravel模型中,我们可以这样做 类用户扩展模型{ 受保护的$hidden=['password'] ... 如果没有select()edit,我找不到合适的解决方案。 谢谢我认为您不能,如果您通过select指定字段,您将不会得到实体,而是一个数据数组 在我看来,正确的方法(如果您的最终目标是过滤发送到视图的内容)

在Symfony 4中,我有一个用户实体,其基本字段为
id、firstname、lastname和password
。使用
find()
方法隐藏密码字段的最简单方法是什么?例如,在Laravel模型中,我们可以这样做

类用户扩展模型{
受保护的$hidden=['password']
...
如果没有
select()
edit,我找不到合适的解决方案。
谢谢

我认为您不能,如果您通过select指定字段,您将不会得到实体,而是一个数据数组

在我看来,正确的方法(如果您的最终目标是过滤发送到视图的内容)是检索整个实体,然后序列化它(如果尚未完成),并使用序列化组排除您不希望的属性。请参阅


请注意,如果您正在制作一个API,那么就有现成的解决方案来处理这些情况(FOSRestBundle就是其中之一:)

我认为您不能,如果您通过选择指定字段,您将不会得到实体,而是一个数据数组

在我看来,正确的方法(如果您的最终目标是过滤发送到视图的内容)是检索整个实体,然后序列化它(如果尚未完成),并使用序列化组排除您不希望的属性。请参阅


请注意,如果您正在制作一个API,那么有现成的解决方案来处理这些情况(FOSRestBundle就是其中之一:)

Laravel仍然有一个更简单的方法来处理Json和序列化,这要归功于它雄辩的集合……等等
但在Symfony(4及更高版本)中,也可以使用
@ignore()
注释忽略字段。
详情如下:

希望对您有所帮助。

由于其雄辩的集合,Laravel仍然有一个更简单的方法来处理Json和序列化…等等
但在Symfony(4及更高版本)中,也可以使用
@ignore()
注释忽略字段。
详情如下:

希望你能从中受益。

我不知道这个答案带来了什么,而我两年前的答案没有带来什么。我链接到的序列化组部分正下方讨论了忽略注释。你可以只留下评论,而不是对我的答案投反对票。谈论坏心态我不知道这个答案带来了什么我两年前的答案没有带来。我链接到的序列化组部分正下方讨论了忽略注释。你可以只留下评论,而不是对我的答案投反对票。谈谈坏心态