2014-06-29 53 views
0

我有2個實體產品和用戶。 我如何隱藏我的產品查詢中的用戶數據?如何隱藏反向數據? Symfony2

例子:

產品

/** 
* @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

你是什麼意思的「隱藏」? – Cyprian

+0

我正在使用Symfony2 API和ExtJs。如果我使用standart產品回購進行「findAll」操作,它將顯示來自用戶實體的所有產品數據和所有映射數據,並帶有密碼,salt。我想從API中隱藏用戶數據。 – Foxtrot

回答

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; 

(...) 
+0

病例解決benatespina thx,現在即時通過串行器使用組 – Foxtrot