如何隐藏反转数据? Symfony2的

时间:2014-06-29 17:57:11

标签: php symfony orm doctrine mapping

我有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;

1 个答案:

答案 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;

(...)