可捕获的致命错误:参数1传递给

时间:2014-06-02 01:42:51

标签: php orm doctrine

我有实体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>


?>

1 个答案:

答案 0 :(得分:1)

使用

$Ac->setIdcategacteur($em->getRepository('MyBundle:Categorieacteur')->find($_POST['categ'])); 

而不是

$Ac->setIdcategacteur($_POST['categ']);