我正在尝试将我的数据添加到我的数据库中,我试图不使用formbuilder,在我将所有表单放入控制器,并且我的实体包含外键但我得到了这个错误: 警告:spl_object_hash()期望参数1为对象,整数在C:\ wamp \ www \ HelloWordExemple \ vendor \ doctrine \ orm \ lib \ Doctrine \ ORM \ UnitOfWork.php第1602行中给出
这是我的功能
public function AjoutAction(Request $request)
{ $classe=new Etudiant();
$formBuilder = $this->get('form.factory')->createBuilder('form', $classe);
$formBuilder
->add('prenom', 'text')
->add('nom', 'text')
->add('Cin', 'integer')
->add('id_classe', 'integer')
->add('save', 'submit')
;
$form = $formBuilder->getForm();
if ($form->handleRequest($request)->isValid()) {
$objToPersist = $form->getData();
$em = $this->getDoctrine()->getManager();
$em->persist($objToPersist);
$em->flush();
}
return $this->render('MyAppSchoolBundle:Etudiant:ajout.html.twig',array(
'form' => $form->createView(),
));
}
这是我的实体
namespace MyApp\SchoolBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @ORM\Entity
*/
class Etudiant {
/**
* @ORM\id
*@ORM\GeneratedValue
*@ORM\Column(type="integer",name="ID_Etudiant")
*/
private $Id;
/**
*@ORM\Column{type="string",length=255}
*/
private $prenom;
/**
*@ORM\Column{type="string",length=255}
*/
private $nom;
/**
*@Assert\NotBlank
*@ORM\Column(type="integer", unique=true)
*/
private $cin; //unique ne fonctionne pas qu'avec les assert
/**
* @ORM\ManyToOne(targetEntity="Classes",cascade={"ALL"})
*/
private $idClasse;
function getId() {
return $this->Id;
}
function getPrenom() {
return $this->prenom;
}
public function getNom() {
return $this->nom;
}
public function setId($Id) {
$this->Id = $Id;
}
public function setPrenom($prenom) {
$this->prenom = $prenom;
}
public function setNom($nom) {
$this->nom = $nom;
}
public function getCin() {
return $this->cin;
}
public function setCin($cin) {
$this->cin = $cin;
}
function getIdClasse() {
return $this->idClasse;
}
function setIdClasse($idClasse) {
$this->idClasse = $idClasse;
}
}
任何人都有想法吗?