Sii*_*ick 6 php orm symfony doctrine-orm
我需要你的帮助,因为这就像有一天我在Symfony 2中遇到了映射问题.
首先,我是Symfony的新手,我只有2周的时间练习该框架.那么让我们谈谈我的真正问题.概要很简单,我有一个非常简单的形式,我用来创建一个类别(CD/DVD /书籍等).通常情况下,我的页面会显示已存在的所有类别,并且我输入了一个新的类别(如BLU-RAY for ie),然后该类别将保存在名为Categorie的数据库中,并带有这些属性(idcategorie = BLU-RAY,idcatalogue = CAT01) .
这是正常的情况,在我的情况下,我可以列出所有类别列表,但当我提交我的表格,我有一个美丽
在链配置的命名空间SEBO\BackOfficeBundle\Entity中找不到类'Doctrine\ORM\EntityRepository'
首先是我的控制器
public function categorieAction(Request $request)
{
$categorie = $this->getDoctrine()
->getRepository('SEBOBackOfficeBundle:Categorie');
$listeCategorie = $categorie->findAll();
$newCategorie = new Categorie();
$newCategorie->setIdcatalogue('CAT01');
$form = $this->createFormBuilder($newCategorie)
->add('idcategorie', 'text')
->add('Ajouter', 'submit')
->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($categorie);
$em->flush();
$request->getSession()->getFlashBag()->add('notice', 'Catégorie bien enregistrée.');
return $this->redirect($this->generateUrl('sebo_back_office_categorie', array(
'listeCategorie' => $listeCategorie,
'form' => $form->createView(),
)));
}
$content = $this->get('templating')->render('SEBOBackOfficeBundle:Advert:categorie.html.twig', array(
'listeCategorie' => $listeCategorie,
'form' => $form->createView()
));
return new Response($content);
}
Run Code Online (Sandbox Code Playgroud)
这是我的类Categorie.php
namespace SEBO\BackOfficeBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Categorie
*
* @ORM\Table(name="categorie", indexes={@ORM\Index(name="FK_Catalogue_IdCatalogue", columns={"IdCatalogue"})})
* @ORM\Entity
*/
class Categorie
{
/**
* @var string
*
* @ORM\Column(name="IdCategorie", type="string", length=40, nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $idcategorie;
/**
* @var \Catalogue
*
* @ORM\ManyToOne(targetEntity="Catalogue")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="IdCatalogue", referencedColumnName="IdCatalogue")
* })
*/
private $idcatalogue;
/**
* Get idcategorie
*
* @return string
*/
public function getIdcategorie()
{
return $this->idcategorie;
}
/**
* Set idcatalogue
*
* @param string $idcatalogue
* @return Categorie
*/
public function setIdcatalogue($idcatalogue)
{
$this->idcatalogue = $idcatalogue;
return $this;
}
/**
* Set idcategorie
*
* @param string $idcategorie
* @return Categorie
*/
public function idcategorie($idcategorie)
{
$this->idcategorie = $idcategorie;
return $this;
}
/**
* Get idcatalogue
*
* @return \SEBO\BackOfficeBundle\Entity\Catalogue
*/
public function getIdcatalogue()
{
return $this->idcatalogue;
}
}
Run Code Online (Sandbox Code Playgroud)
那是分类的我的Doctrine/ORM xml文件.
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="Categorie" table="categorie">
<indexes>
<index name="FK_Catalogue_IdCatalogue" columns="IdCatalogue"/>
</indexes>
<id name="idcategorie" type="string" column="IdCategorie" length="40">
<generator strategy="IDENTITY"/>
</id>
<many-to-one field="idcatalogue" target-entity="Catalogue">
<join-columns>
<join-column name="IdCatalogue" referenced-column-name="IdCatalogue"/>
</join-columns>
</many-to-one>
</entity>
</doctrine-mapping>
Run Code Online (Sandbox Code Playgroud)
一切正常,直到我提交,我可以看到我的类别列表,但经过大量的搜索,我仍然看不到那个类'Doctrine\ORM\EntityRepository',我肯定错过了一个东西,我希望你会救命.感谢您将来的回答.