2017-10-12 46 views
-2

這是我的控制器一個例外模板的渲染過程中被拋出(「捕致命錯誤:類對象無法被轉換成字符串」)

public function personnePhysiqueDetailsAction($id) 
    { 
     $em = $this->getDoctrine()->getManager(); 
     $controle = $this->get('Controles'); 
     if(($controle->is_Granted('Afficher détail client','Client/Societaire',$this->getUser()))==false){throw new AccessDeniedException();} 
//  $listePersonnePhysiques=$personnePhysique = $em->getRepository('ITBundle:PersonnePhysique')->findAll(); 
     $personnePhysique = $em->getRepository('ITBundle:PersonnePhysique')->find($id); 
     $adresses=$em->getRepository('ITBundle:Adresse')->findOneBy(array('personne'=>$personnePhysique)); 
     $mails=$em->getRepository('ITBundle:Email')->findOneBy(array('personne'=>$personnePhysique)); 
     $telephones=$em->getRepository('ITBundle:Telecom')->findBy(array('personne'=>$personnePhysique)); 
     $contrat=$em->getRepository('ITBundle:Contrat')->findBy(array('souscripteur'=>$personnePhysique)); 
     $branches = $em->getRepository('ITBundle:Branche')->findAll(); 
     $compteBancaire=$em->getRepository('ITBundle:CompteBancaire')->findBy(array('personne'=>$personnePhysique)); 
     $avenants=$em->getRepository('ITBundle:AvenantSignaletique')->findBy(array('personne'=>$personnePhysique)); 
     $adresseHisto=$em->getRepository('ITBundle:AdresseHisto')->findBy(array('avenant'=>$avenants)); 
     $compteHisto=$em->getRepository('ITBundle:CompteBancaireHisto')->findBy(array('avenant'=>$avenants)); 
     $personnephysiquehisto=$em->getRepository('ITBundle:PersonnePhysiqueHisto')->findBy(array('avenant'=>$avenants)); 
     $familles=$em->getRepository('ITBundle:Famille')->findBy(array('personne'=>$personnePhysique)); 

和THID是我的倉庫

public function PersonnePhysiqueDetail($id){ 
     return $this->createQueryBuilder('p') 
      ->select(' p.id, p.nom , p.prenom, p.cin, p.dateNaissance,p.sexe, s.libelle situation,s.id idSituation') 
      ->innerJoin('p.situationFamiliale', 's') 
      ->where('p.id = :idPersonne') 
      ->setParameter('idPersonne', $id) 
      ->getQuery() 
      ->getResult(); 
    } 
在我的樹枝

{% for famille in familles %} 
              <tr> 

               <th>{{ famille.personne }}:</th> 


              </tr> 
              {% endfor %} 

這是familles的declation在我的實體personne

/** 
    * @var array 
    * @ORM\OneToMany(targetEntity="IT\ITBundle\Entity\Famille",cascade={"persist","remove"}, mappedBy="personne") 
    * @ORM\JoinColumn(name="enfant_id", referencedColumnName="id") 
    */ 
    private $familles; 
/** 
    * Add famille 
    * 
    * @param \IT\ITBundle\Entity\Famille $famille 
    * 
    * @return Personne 
    */ 
    public function addFamille(\IT\ITBundle\Entity\Famille $famille) 
    { 
     $this->familles[] = $famille; 

     return $this; 
    } 

    /** 
    * Remove famille 
    * 
    * @param \IT\ITBundle\Entity\Famille $famille 
    */ 
    public function removefamille(\IT\ITBundle\Entity\Famille $famille) 
    { 
     $this->familles->removeElement($famille); 
    } 

    /** 
    * Get familles 
    * 
    * @return \Doctrine\Common\Collections\Collection 
    */ 
    public function getfamilles() 
    { 
     return $this->familles; 
    } 

和我的彩實體

<?php 

namespace IT\ITBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Famille 
* @ORM\Table(name="famille") 
* @ORM\Entity(repositoryClass="IT\ITBundle\Repository\FamilleRepository") 

*/ 

class Famille 
{ 
    /** 
    * @var int 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="lien", type="string", length=255, nullable=true) 
    */ 
    private $lien; 

    /** 
    * @ORM\ManyToOne(targetEntity="IT\ITBundle\Entity\Personne", inversedBy="familles") 
    * @ORM\JoinColumn(name="personne_id", referencedColumnName="id") 
    * #var array 
    * #ORM\Column(name="personne_id", type="array") 
    */ 

    private $personne; 
    /** 
    * @var string 
    * @ORM\ManyToOne(targetEntity="IT\ITBundle\Entity\Personne", inversedBy="familles") 
    * @ORM\JoinColumn(name="enfant_id", referencedColumnName="id") 

    */ 
    private $enfant; 

    /** 
    * Get id 
    * 
    * @return integer 
    */ 
    public function getId() 
    { 
     return $this->id; 
    } 

    /** 
    * Set lien 
    * 
    * @param string $lien 
    * @return Famille 
    */ 
    public function setLien($lien) 
    { 
     $this->lien = $lien; 

     return $this; 
    } 

    /** 
    * Get lien 
    * 
    * @return string 
    */ 
    public function getLien() 
    { 
     return $this->lien; 
    } 

    /** 
    * Set personne 
    * 
    * @param \IT\ITBundle\Entity\Personne $personne 
    * 
    * @return Personne 
    */ 
    public function setPersonne(\IT\ITBundle\Entity\Personne $personne = null) 
    { 
     $this->personne = $personne; 

     return $this; 
    } 

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

    /** 
    * Set enfant 
    * 
    * @param \IT\ITBundle\Entity\Famille $enfant 
    * 
    * @return Personne 
    */ 
    public function setEnfant($enfant) 
    { 
     $this->enfant = $enfant; 

     return $this; 
    } 

    /** 
    * Get enfant 
    * 
    * @return Personne 
    */ 
    public function getEnfant() 
    { 
     return $this->enfant; 
    } 
    public function __construct() 
    { 

     $this->familles = new \Doctrine\Common\Collections\ArrayCollection(); 

    } 
} 

我知道personne是一個數組,多數民衆贊成使問題 現在我想你syggestion請我怎樣才能讓我的樹枝「personne_nom」其中id(在personne)= enfant_id(以粉彩)

+0

personne不是數組,是s的對象 –

回答

0

要顯示Personne信息,你必須這樣做

{% for famille in familles %} 
    <tr> 
    <th>{{ famille.personne.name }} :</th> 
    </tr> 
{% endfor %} 

我寫的名字,假如你personne實體都有一個名字,因爲你沒有告訴我們全部personne實體,而是把你所需要的

+0

認爲TNY爲你的幫助,但在這種情況下,它只顯示我即將諮詢的人的名字,但對我來說,我wana得到與perso有關係的人的名字(當實體)= Personne_id(Famille實體希望你能夠支持我的英語不好 –

+0

我不明白 –

+0

再次認爲它可以與我的方法一起工作,我只是改變 {{famille.personne.name} }:作者: {{famille.enfant.name}}: –

0

具有相同entityes和控制器代碼我想要得到的

{% for famille in familles %} 
    <tr> 
    <th>{{ famille.personne.name }} :</th> 
    </tr> 
{% endfor %} 
德INVERS

我的意思是顯示personne的名稱,並有chidren當((ID-朗方) '彩表')在personne表equale至((ID)

相關問題