Php 如何隐藏反演数据?Symfony2

Php 如何隐藏反演数据?Symfony2,php,symfony,orm,doctrine,mapping,Php,Symfony,Orm,Doctrine,Mapping,我有两个实体产品和用户。 如何在产品查询中隐藏用户数据 例如: 产品 /** * @ORM\ManyToOne(targetEntity="User", inversedBy="products") * @ORM\JoinColumn(name="user_id", nullable=false) */ protected $user; 和用户 /** * @ORM\OneToMany(targetEntity="Product", mappedBy="user", cascade={

我有两个实体产品和用户。 如何在产品查询中隐藏用户数据

例如:

产品

/**
 * @ORM\ManyToOne(targetEntity="User", inversedBy="products")
 * @ORM\JoinColumn(name="user_id", nullable=false)
 */
protected $user;
和用户

/**
 * @ORM\OneToMany(targetEntity="Product", mappedBy="user", cascade={"remove"})
 */
protected $products;
您可以使用序列化程序来显示所需内容。在这种情况下,如果您不想向产品的用户显示此属性没有任何类型的序列化程序

use JMS\Serializer\Annotation as Serializer;

/**
 * @ORM\Entity()
 * @Serializer\ExclusionPolicy("ALL")
 */
class Product
{
    /**
     * @ORM\Column(name="my-attribute", type="string", nullable=false)
     * @Serializer\Expose
     * @Serializer\Groups({"anyKindOfGroup"})
     */
     protected $attributeWhichIsSerializer;

   /**
    * @ORM\ManyToOne(targetEntity="User", inversedBy="products")
    * @ORM\JoinColumn(name="user_id", nullable=false)
    */
    protected $user;

(...)

你说隐藏是什么意思?我正在使用symfony2api和ExtJs。若我对findAll操作使用standart product repo,它将显示所有产品数据和来自用户实体的所有映射数据,密码为salt。我想从API中隐藏用户数据。案例解析benatespina thx,现在我通过序列化程序使用组