Я изучаю Symfony и столкнулся с этой проблемой.
Исправляемая фатальная ошибка: объект класса App \ Entity \ Question не может быть преобразован в строку
Моя цель - добавить форму в базу данных.
Я думаю, что я неправильно использую свой EntityType, вот моя форма:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('question', EntityType::class,
[
'class' => Question::class
]
)
->add(
'answer',
TextType::class
)
->add(
'valid',
ChoiceType::class,
[
'choices' => [
'true' => 1,
'false' => 0
]
]
)
->add(
'save',
SubmitType::class
)
;
}
А вот мой контроллер, где я строю свою форму:
$entityManager = $this->getDoctrine()->getManager();
$answer = new Answer();
$form = $this->createForm(ExamDatabaseInteractionType::class, $answer);
$form->handleRequest($request);
if ($form->isSubmitted()) {
$entityManager->persist($answer);
$entityManager->flush();
}
return [
'form' => $form->createView()
];
Полагаю, здесь важна и структура базы данных:
describe question;
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| question | varchar(255) | NO | | NULL | |
+----------+--------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
describe answer;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| question_id | int(11) | YES | MUL | NULL | |
| answer | varchar(255) | NO | | NULL | |
| valid | tinyint(1) | NO | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
Надеюсь, я хорошо структурировал свой вопрос, это мой первый вопрос о переполнении стека.
Спасибо за вашу помощь.