我有2个实体产品和用户。 我如何在产品查询中隐藏用户数据?
示例:
产品
/**
* @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;
答案 0 :(得分:0)
您可以使用序列化程序来显示您想要的内容。在这种情况下,如果您不想向产品用户显示此属性,则该属性没有任何类型的序列化程序。
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;
(...)