我有实体Acteur
与实体Categorieacteur
相关,但当我坚持并刷新时,我有这个错误:
可捕获致命错误:参数1传递给Acteur:: setidcategorteur ()必须是Categorieacteur的一个实例,字符串给定,调用D:'wamp'www'GestionDesEvenements'Ajout_Acteur.php第16行在D:'wamp'www'GestionDesEvenements'entity'Acteur.php中定义342
这是实体actor中的关系:
/**
* @var 'Categorieacteur
*
* @ManyToOne(targetEntity="Categorieacteur")
* @JoinColumns({
* @JoinColumn(name="idCategActeur", referencedColumnName="idCategActeur")
* })
*/
private $idcategacteur;
/**
* Set idcategacteur
*
* @param 'Categorieacteur $idcategacteur
* @return Acteur
*/
public function setIdcategacteur('Categorieacteur $idcategacteur = null)
{
$this->idcategacteur = $idcategacteur;
return $this;
}
/**
* Get idcategacteur
*
* @return 'Categorieacteur
*/
public function getIdcategacteur()
{
return $this->idcategacteur;
}
,这是persist的代码:
<?php
require_once 'em.php';
$Ac = new Acteur();
$Ac->setMail($_POST['email']);
$Ac->setAdracteur($_POST['AdrAct']);
$Ac->setMotDePasse($_POST['MotDePasse']);
$Ac->setSiteWeb($_POST['SiteWeb']);
$Ac->setLogin($_POST['login']);
$Ac->setEtatacteur($_POST['etat']);
$Ca=new Categorieacteur();
$Ac->setIdcategacteur($_POST['categ']);
$em->persist($Ac);
$em->flush();
,这是表单(表单工作正常):
Catégorie:
<select name="categ" size="1" id="categ" onChange="AfficherElement();">
<?php
require_once 'em.php';
//print_r($_POST);
$lc=$em->getRepository('Categorieacteur')->findAll();
foreach($lc as $c)
{
echo "<option value='".$c->getidcatact()."'>".$c->getdesigncat()."</option>";
}
?>
</select>
?>
use
$Ac->setIdcategacteur($em->getRepository('MyBundle:Categorieacteur')->find($_POST['categ']));
代替
$Ac->setIdcategacteur($_POST['categ']);