我制作了一个表单,以便我可以在不使用phpmyadmin的情况下填充数据库。但是现在我在尝试执行表单时遇到问题,并希望你们能帮助我。我收到以下错误:
无法确定属性的访问类型" bestelserie"在课堂上#34; AppBundle \ Entity \ Artikel"。
我的代码:
默认控制器:
b
实体:
<?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\Artikel;
use AppBundle\Form\Type\ArtikelType;
class DefaultController extends Controller
{
/**
* @Route("/", name="homepage")
*/
public function indexAction(Request $request)
{
// replace this example code with whatever you need
return $this->render('default/index.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.project_dir')).DIRECTORY_SEPARATOR,
]);
}
/**
* @Route ("/artikel/nieuw ", name="artikelnieuw")
*/
public function nieuweArtikel(Request $request){
$nieuweArtikel = new Artikel();
$form = $this->createForm(ArtikelType::class, $nieuweArtikel);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($nieuweArtikel);
$em->flush();
return $this->redirect($this->generateurl("artikelnieuw"));
}
return new Response($this->render('form.html.twig', array('form' => $form->createView())));
}
}
形式:
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Artikel
*
* @ORM\Table(name="artikel")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ProductRepository")
*/
class Artikel
{
/**
* @var string
*
* @ORM\Column(name="artikelnummer", type="string", length=20, unique=true)
* @ORM\Id
*/
private $artikelnummer;
/**
* @var string
*
* @ORM\Column(name="omschrijving", type="string", length=255, nullable=true)
*/
private $omschrijving;
/**
* @var string
*
* @ORM\Column(name="specificaties", type="string", length=255, nullable=true)
*/
private $specificaties;
/**
* @var string
*
* @ORM\Column(name="inkoopprijs", type="string", length = 255, nullable=true)
*/
private $magazijnlocatie;
/**
* @var integer
*
* @ORM\Column(name="inkoopprijs", type="20", length=255, nullable=true)
*/
private $inkoopprijs;
/**
* @var string
*
* @ORM\Column(name="vervangendeArtikel", type="string", length=255, nullable=true)
*/
private $vervangendeArtikel;
/**
* @var integer
*
* @ORM\Column(name="minimumVoorraad", type="integer", length=20, nullable=true)
*/
private $minimumVoorraad;
/**
* @var integer
*
* @ORM\Column(name="voorraadaantal", type="integer", length=20, nullable=true)
*/
private $voorraadaantal;
/**
* @var integer
*
* @ORM\Column(name="bestelserie", type="integer", length=20, nullable=true)
*/
private $bestelserie;
/**
* Set artikelnummer
*
* @param string $artikelnummer
*
* @return Artikel
*/
public function setArtikelnummer($artikelnummer)
{
$this->artikelnummer = $artikelnummer;
return $this;
}
/**
* Get artikelnummer
*
* @return string
*/
public function getArtikelnummer()
{
return $this->artikelnummer;
}
/**
* Set omschrijving
*
* @param string $omschrijving
*
* @return Artikel
*/
public function setOmschrijving($omschrijving)
{
$this->omschrijving = $omschrijving;
return $this;
}
/**
* Get omschrijving
*
* @return string
*/
public function getOmschrijving()
{
return $this->omschrijving;
}
/**
* Set specificaties
*
* @param string $specificaties
*
* @return Artikel
*/
public function setSpecificaties($specificaties)
{
$this->specificaties = $specificaties;
return $this;
}
/**
* Get specificaties
*
* @return string
*/
public function getSpecificaties()
{
return $this->specificaties;
}
/**
* Set magazijnlocatie
*
* @param string $magazijnlocatie
*
* @return Artikel
*/
public function setMagazijnlocatie($magazijnlocatie)
{
$this->magazijnlocatie = $magazijnlocatie;
return $this;
}
/**
* Get magazijnlocatie
*
* @return string
*/
public function getMagazijnlocatie()
{
return $this->magazijnlocatie;
}
/**
* Set inkoopprijs
*
* @param integer $inkoopprijs
*
* @return Artikel
*/
public function setInkoopprijs($inkoopprijs)
{
$this->inkoopprijs = $inkoopprijs;
return $this;
}
/**
* Get inkoopprijs
*
* @return integer
*/
public function getInkoopprijs()
{
return $this->inkoopprijs;
}
/**
* Set vervangendeArtikel
*
* @param string $vervangendeArtikel
*
* @return Artikel
*/
public function setVervangendeartikel($vervangendeArtikel)
{
$this->vervangendeArtikel = $vervangendeArtikel;
return $this;
}
/**
* Get vervangendeArtikel
*
* @return string
*/
public function getVervangendeartikel()
{
return $this->vervangendeArtikel;
}
/**
* Set minimumVoorraad
*
* @param integer $minimumVoorraad
*
* @return Artikel
*/
public function setMinimumvoorraad($minimumVoorraad)
{
$this->minimumVoorraad = $minimumVoorraad;
return $this;
}
/**
* Get minimumVoorraad
*
* @return integer
*/
public function getMinimumvoorraad()
{
return $this->minimumVoorraad;
}
/**
* Set voorraadaantal
*
* @param integer $voorraadaantal
*
* @return Artikel
*/
public function setVoorraadaantal($voorraadaantal)
{
$this->voorraadaantal = $voorraadaantal;
return $this;
}
/**
* Get voorraadaantal
*
* @return integer
*/
public function getVoorraadaantal()
{
return $this->voorraadaantal;
}
/**
* Set bestelserie
*
* @param integer $bestelserie
*
* @return Artikel
*/
public function setBestelserie()
{
if ($this->minimumVoorraad > $this->voorraadaantal){
$benodigdeVoorraad = $this->minimumVoorraad - $this->voorraadaantal;
return $this->bestelserie + $benodigdeVoorraad;
}
else {
return $this->bestelserie;
}
}
/**
* Get bestelserie
*
* @return integer
*/
public function getBestelserie()
{
return $this->bestelserie;
}
}
提前谢谢。