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,现在我通过序列化程序使用组