Ожидаемое значение типа для поля ассоциации вместо этого получило «целое число»

#symfony #doctrine

#symfony #доктрина

Вопрос:

итак, у меня есть буксирные таблицы с отношением ManyToOne, но всякий раз, когда я выполняю операцию создания, я получаю эту ошибку

Ожидаемое значение типа «AppBundle Entity Etat» для поля ассоциации «AppBundle Entity FicheFrais #$ id_etat» вместо этого получило «integer».

здесь вы можете найти мои объектыhttps://gist.github.com/Bakhshi-Faisal/bd459aab6ef0e8566c5fceb0789655af

в моем контроллере я установил это просто так

$ficheFrai->setIdEtat(1);

Ответ №1:

Ваша сущность FicheFrais связана с Etat сущностями.

Поэтому вам нужно задать их с помощью объекта Etat, а не идентификатора.

Поэтому вместо :

 $ficheFrai->setIdEtat(1);
  

Вы должны передать объект Etat установщику
Вот так :

 //Do that if you want to set the etat to your Etat with an id of 1
$etat = $em->getRepository(Etat::class)->find(1);
$ficheFrai->setIdEtat($etat);
  

И это должно сработать.

И, кстати, поскольку вы устанавливаете свой FicheFrais с помощью объекта Etat, вам следует переименовать свой атрибут, getter и setter :

 private $etat;

   /**
     * @return Etat
     */
    public function getEtat()
    {
        return $this->etat;
    }

    /**
     * @param Etat $etat
     */
    public function setEtat($etat)
    {
        $this->etat = $etat;
}