我有实体Acteur
与实体Categorieacteur
相关但是当我坚持并且冲洗时我有这个错误:
捕获致命错误:参数1传递给Acteur :: setIdcategacteur() 必须是Categorieacteur的实例,给定的字符串,调用 第16行的D:\ wamp \ www \ GestionDesEvenements \ Ajout_Acteur.php和 在D:\ wamp \ www \ GestionDesEvenements \ entity \ Acteur.php中定义 342
这是实体Acteur中的关系:
/**
* @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;
}
这是坚持的代码:
<?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>
?>
答案 0 :(得分:1)
使用
$Ac->setIdcategacteur($em->getRepository('MyBundle:Categorieacteur')->find($_POST['categ']));
而不是
$Ac->setIdcategacteur($_POST['categ']);