#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;
}