2017-02-08 18 views
0

Возможно, есть объект, который выглядит как этот код, и когда я хотел бы создать экземпляр этого объекта, свойства dossierClientActif автоматически являются фильтрами свойств dossiersClient.Динамическое свойство сущности объекта Symfony из свойств ассоциации фильтра

class Contact { 

    private id; 

    /** 
    * @var \Doctrine\Common\Collections\ArrayCollection 
    */ 
    private $dossiersClient; 

    /** 
    * @var \AppBundle\Entity\DossierClient 
    */ 
    private $dossierClientActif; 

    /** 
    * @return \Doctrine\Common\Collections\ArrayCollection 
    */ 
    public function getDossiersClient() 
    { 
     return $this->dossiersClient; 
    } 

    /** 
    * Add dossierClient 
    * 
    * @param \AppBundle\Entity\DossierClient $dossierClient 
    * 
    * @return Contact 
    */ 
    public function addDossierClient(\AppBundle\Entity\DossierClient $dossierClient) 
    { 
     $this->dossiersClient[] = $dossierClient; 

     return $this; 
    } 

    /** 
    * @return DossierClient 
    */ 
    public function getDossierClientActif() 
    { 
     $criteria = Criteria::create(); 
     $criteria->where(Criteria::expr()->eq('indArchive', 0)); 
     return $this->dossiersClient->matching($criteria)->first(); 
    } 
} 

ответ

0

Использование JMS-сериализатора с виртуальными свойствами работает для меня.

AppBundle\Entity\Contact: 
    exclusion_policy: ALL 
    virtual_properties: 
     getDossierClientActif: 
      serialized_name: dossierClientActif 
      groups: ['contact'] 
    properties: 
     id: 
      expose: true 
      groups: ['contact'] 
     dossiersClient: 
      expose: true 
      groups: ['contact'] 

 Смежные вопросы

  • Нет связанных вопросов^_^