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 %}
を小枝れます
は、それは' Bestelordernummerだ彼らはBestellingエンティティ –
を__toString使用してみてください。 'bestelregel.bestelling'は' Goeder'オブジェクトです。おそらく 'Bestelordernummer:{{bestelregel.bestelling.bestelordernummer}}
'を意味します。後はArtikel-Rowと同じです。 – Colin
である方法 – ccKep