2017-05-30 6 views
0

"bestelling/alle"を開こうとしていますが、このエラーが発生しています。 キャッチ可能な致命的なエラー:クラスProxies__CG __ \ AppBundle \ Entity \ Goederのオブジェクトを文字列に変換できませんでした。 しかし、私はこれがどこから来ているのではありません。私はすべての使用されたエンティティとコントローラをリンクします。AppBundle Entity Goederを文字列に変換できませんでした

エンティティGoeder

<?php 

namespace AppBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 
use Symfony\Component\Validator\Constraints as Assert; 
use Doctrine\Common\Collections\ArrayCollection; 
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; 
use Symfony\Component\Security\Core\User\UserInterface; 

/** 
* Goeder 
* 
* @ORM\Table(name="goeder") 
* @ORM\Entity(repositoryClass="AppBundle\Repository\GoederRepository") 
* @UniqueEntity(fields={"bestelordernummer"}, message="Dit bestelordernummer bestaat al!") 
*/ 
class Goeder 
{ 
    /** 
    * @var string 
    * 
    * @ORM\Column(name="naamleverancier", type="string", length=255) 
    */ 
    private $naamleverancier; 

    /** 
    * @var int 
    * @ORM\Id 
    * @ORM\Column(name="bestelordernummer", type="integer", unique=true) 
    */ 
    private $bestelordernummer; 

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

    /** 
    * @var int 
    * 
    * @ORM\Column(name="hoeveelheidbesteld", type="integer") 
    */ 
    private $hoeveelheidbesteld; 

    /** 
    * @var int 
    * 
    * @ORM\Column(name="artikelnummer", type="integer") 
    */ 
    private $artikelnummer; 

    /** 
    * @var \DateTime 
    * 
    * @ORM\Column(name="datumontvangst", type="date", nullable=true) 
    */ 
    private $datumontvangst; 

    /** 
    * @var int 
    * 
    * @ORM\Column(name="kwaliteit", type="integer", nullable=true) 
    */ 
    private $kwaliteit; 

    /** 
    * @var int 
    * 
    * @ORM\Column(name="hoeveelheidontvangen", type="integer", nullable=true) 
    */ 
    private $hoeveelheidontvangen; 

    /** 
    * @var int 
    * 
    * @ORM\Column(name="Keuringseis", type="integer", nullable=true) 
    */ 
    private $keuringseis; 

    /** 
    * @var int 
    * 
    * @ORM\Column(name="zendingsnummer", type="integer", unique=true, nullable=true) 
    */ 
    private $zendingsnummer; 

    /** 
    * @var int 
    * 
    * @ORM\Column(name="locatie", type="integer", nullable=true) 
    */ 
    private $locatie; 

    /** 
    * @ORM\OneToMany(targetEntity="Bestelregel", mappedBy = "bestelling") 
    */ 
    private $bestelregels; 

    /** 
    * Set naamleverancier 
    * 
    * @param string $naamleverancier 
    * 
    * @return Goeder 
    */ 
    public function setNaamleverancier($naamleverancier) 
    { 
     $this->naamleverancier = $naamleverancier; 

     return $this; 
    } 

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

    /** 
    * Set bestelordernummer 
    * 
    * @param integer $bestelordernummer 
    * 
    * @return Goeder 
    */ 
    public function setBestelordernummer($bestelordernummer) 
    { 
     $this->bestelordernummer = $bestelordernummer; 

     return $this; 
    } 

    /** 
    * Get bestelordernummer 
    * 
    * @return int 
    */ 
    public function getBestelordernummer() 
    { 
     return $this->bestelordernummer; 
    } 

    /** 
    * Set omschrijving 
    * 
    * @param string $omschrijving 
    * 
    * @return Goeder 
    */ 
    public function setOmschrijving($omschrijving) 
    { 
     $this->omschrijving = $omschrijving; 

     return $this; 
    } 

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

    /** 
    * Set hoeveelheidbesteld 
    * 
    * @param integer $hoeveelheidbesteld 
    * 
    * @return Goeder 
    */ 
    public function setHoeveelheidbesteld($hoeveelheidbesteld) 
    { 
     $this->hoeveelheidbesteld = $hoeveelheidbesteld; 

     return $this; 
    } 

    /** 
    * Get hoeveelheidbesteld 
    * 
    * @return int 
    */ 
    public function getHoeveelheidbesteld() 
    { 
     return $this->hoeveelheidbesteld; 
    } 

    /** 
    * Set datumontvangst 
    * 
    * @param \DateTime $datumontvangst 
    * 
    * @return Goeder 
    */ 
    public function setDatumontvangst($datumontvangst) 
    { 
     $this->datumontvangst = $datumontvangst; 

     return $this; 
    } 

    /** 
    * Get datumontvangst 
    * 
    * @return \DateTime 
    */ 
    public function getDatumontvangst() 
    { 
     return $this->datumontvangst; 
    } 

    /** 
    * Set kwaliteit 
    * 
    * @param integer $kwaliteit 
    * 
    * @return Goeder 
    */ 
    public function setKwaliteit($kwaliteit) 
    { 
     $this->kwaliteit = $kwaliteit; 

     return $this; 
    } 

    /** 
    * Get kwaliteit 
    * 
    * @return int 
    */ 
    public function getKwaliteit() 
    { 
     return $this->kwaliteit; 
    } 

    /** 
    * Set hoeveelheidontvangen 
    * 
    * @param integer $hoeveelheidontvangen 
    * 
    * @return Goeder 
    */ 
    public function setHoeveelheidontvangen($hoeveelheidontvangen) 
    { 
     $this->hoeveelheidontvangen = $hoeveelheidontvangen; 

     return $this; 
    } 

    /** 
    * Get hoeveelheidontvangen 
    * 
    * @return int 
    */ 
    public function getHoeveelheidontvangen() 
    { 
     return $this->hoeveelheidontvangen; 
    } 

    /** 
    * Set artikelnummer 
    * 
    * @param integer $artikelnummer 
    * 
    * @return Goeder 
    */ 
    public function setArtikelnummer($artikelnummer) 
    { 
     $this->artikelnummer = $artikelnummer; 

     return $this; 
    } 

    /** 
    * Get artikelnummer 
    * 
    * @return int 
    */ 
    public function getArtikelnummer() 
    { 
     return $this->artikelnummer; 
    } 

    /** 
    * Set keuringseis 
    * 
    * @param integer $keuringseis 
    * 
    * @return Goeder 
    */ 
    public function setKeuringseis($keuringseis) 
    { 
     $this->keuringseis = $keuringseis; 

     return $this; 
    } 

    /** 
    * Get keuringseis 
    * 
    * @return int 
    */ 
    public function getKeuringseis() 
    { 
     return $this->keuringseis; 
    } 

    /** 
    * Set zendingsnummer 
    * 
    * @param integer $zendingsnummer 
    * 
    * @return Goeder 
    */ 
    public function setZendingsnummer($zendingsnummer) 
    { 
     $this->zendingsnummer = $zendingsnummer; 

     return $this; 
    } 

    /** 
    * Get zendingsnummer 
    * 
    * @return int 
    */ 
    public function getZendingsnummer() 
    { 
     return $this->zendingsnummer; 
    } 

    /** 
    * Set locatie 
    * 
    * @param integer $locatie 
    * 
    * @return Goeder 
    */ 
    public function setLocatie($locatie) 
    { 
     $this->locatie = $locatie; 

     return $this; 
    } 

    /** 
    * Get locatie 
    * 
    * @return int 
    */ 
    public function getLocatie() 
    { 
     return $this->locatie; 
    } 
    /** 
    * Set bestelregels 
    * 
    * @param string $bestelregels 
    * 
    * @return Goeder 
    */ 
    public function setBestelregels($bestelregels) 
    { 
     $this->bestelregels = $bestelregels; 

     return $this; 
    } 

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

エンティティBestelregel

<?php 

namespace AppBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Bestelregel 
* 
* @ORM\Table(name="bestelregel") 
* @ORM\Entity(repositoryClass="AppBundle\Repository\BestelregelRepository") 
*/ 
class Bestelregel 
{ 
    /** 
    * @var int 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @ORM\ManyToOne(targetEntity="Artikel", inversedBy="bestelregels") 
    * @ORM\JoinColumn(name="Artikelnummer", referencedColumnName="Artikelnummer") 
    */ 
    private $artikel; 

    /** 
    * @ORM\ManyToOne(targetEntity="Goeder", inversedBy="bestelregels") 
    * @ORM\JoinColumn(name="bestelordernummer", referencedColumnName="bestelordernummer") 
    */ 
    private $bestelling; 

    /** 
    * @var int 
    * 
    * @ORM\Column(name="bestelhoeveelheid", type="integer") 
    */ 
    private $bestelhoeveelheid; 

    /** 
    * Set id 
    * 
    * @param integer $id 
    * 
    * @return Bestelregel 
    */ 
    public function setId($id) 
    { 
     $this->id = $id; 

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


    /** 
    * Set artikel 
    * @param string $artikel 
    * @return Bestelregel 
    */ 
    public function setArtikel($artikel) 
    { 
     $this->artikel = $artikel; 

     return $this; 
    } 

    /** 
    * Get artikel 
    * @return string 
    */ 
    public function getArtikel(){ 
    return $this->artikel; 
    } 
    public function __toString(){ 
    return $this->getArtikel(); 
    } 

    /** 
    * Set bestelling 
    * @param string $bestelling 
    * @return Bestelregel 
    */ 
    public function setBestelling($bestelling) 
    { 
     $this->bestelling = $bestelling; 

     return $this; 
    } 

    /** 
    * Get bestelling 
    * @return string 
    */ 
    public function getBestelling(){ 
    return $this->bestelling; 
    } 
    public function Bestelling__toString(){ 
    return $this->getBestelling(); 
    } 

    /** 
    * Set bestelhoeveelheid 
    * 
    * @param integer $bestelhoeveelheid 
    * 
    * @return Bestelregel 
    */ 
    public function setBestelhoeveelheid($bestelhoeveelheid) 
    { 
     $this->bestelhoeveelheid = $bestelhoeveelheid; 

     return $this; 
    } 

    /** 
    * Get bestelhoeveelheid 
    * 
    * @return int 
    */ 
    public function getBestelhoeveelheid() 
    { 
     return $this->bestelhoeveelheid; 
    } 

} 

このBestelregelコントローラ

<?php 
    namespace AppBundle\Controller; 
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
    use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
    use Symfony\Component\HttpFoundation\Request; 
    use Symfony\Component\HttpFoundation\Response; 

    use AppBundle\Entity\Bestelregel; 
    use AppBundle\Form\Type\BestelregelType; 

    class BestelregelController extends Controller 
    { 
    //Route om nieuw Artikel aan te maken 
    /** 
    * @Route("/bestelregel/nieuw", name="nieuwebestelregel") 
    */ 
    public function nieuweBestelregel(Request $request) { 
    $nieuweBestelregel = new Bestelregel(); 
    $form = $this->createForm(BestelregelType::class, $nieuweBestelregel); 
    $form->handleRequest($request); 
     if ($form->isSubmitted() && $form->isValid()) { 
      $em = $this->getDoctrine()->getManager(); 
      $em->persist($nieuweBestelregel); 
      $em->flush() ; 
     return $this->redirect($this->generateurl("nieuwebestelregel")) ; 
     } 
    return new Response($this->renderView('form.html.twig', array('form' => $form->createView()))); 
    } 

    /** 
    * @Route("/bestelregel/alle", name="allebestelregels") 
    */ 
    Public function alleBestelregel(Request $request) { 
    $bestelregels = $this->getDoctrine()->getRepository("AppBundle:Bestelregel")->findAll(); 
    return new Response($this->renderView('bestelregel.html.twig', array('bestelregels' => $bestelregels))); 
    } 

    } 

Bestelregelは

{% extends 'base.html.twig' %} 
     {% block body %} 
      <h1>Overzicht Bestelregels</h1> 
      <ul> 
      {% for bestelregel in bestelregels %} 
        <li style="color:darkgreen; float:left"> 
         Id: {{bestelregel.id}} <br> 
         Bestelordernummer: {{bestelregel.bestelling}} <br> 
         Artikelnummer: {{bestelregel.artikel}} <br> 
         Bestelde hoeveelheid: {{bestelregel.bestelhoeveelheid}} <br> 

       </li> 
      {% endfor %} 
      <ul> 
     {% endblock %} 
を小枝れます
+0

は、それは' Bestelordernummerだ彼らはBestellingエンティティ –

+0

を__toString使用してみてください。 'bestelregel.bestelling'は' Goeder'オブジェクトです。おそらく 'Bestelordernummer:{{bestelregel.bestelling.bestelordernummer}}
'を意味します。後はArtikel-Rowと同じです。 – Colin

+1

である方法 – ccKep

答えて

0

オブジェクトあなたに_toString()メソッドを追加してみてください。あなたの小枝テンプレートに{{bestelregel.bestelling}}
`:

/** 
* (Add this method into your class) 
* 
* @return string String representation of this class 
*/ 
public function __toString() 
{ 
    return $this->name; 
} 
関連する問題