gpt4 book ai didi

php - 显示大量带有类的表单行

转载 作者:搜寻专家 更新时间:2023-10-31 21:03:42 24 4
gpt4 key购买 nike

我正在使用 Symfony2 构建一个网站,我现在需要创建一个大问卷。

为此,我创建了 2 个表:问题和答案(我有用户)

我在问题表中创建了所有问题,当用户回答问题时,我在表中创建了行。

我的问题是,我实际上是在使用 form_rest(form) 显示表单,而且...它非常难看! :)

我想在上面应用一些 css... 因为我有很多问题(可能在 30 到 60 之间),我不能做 {{ form_widget(form.row, { 'attr': {'class': 'form-control'} }) }}

这是我的代码:

for ($i=0; $i < count($questions); $i++) {

$answer = null;
for ($j=0; $j < count($answers); $j++) {

if ($answers[$j]->getQuestion() == $questions[$i]) {
$answer = $answers[$j];
break;
}
}

$tmpForm->add($questions[$i]->getId(), TextType::class, array(
'required' => false,
'label' => $questions[$i]->getQuestion(),
'data' => ($answer != null ? $answer->getAnswer() : ''))
);
}

$form = $tmpForm->getForm();

if ($request->isMethod('POST')) {

$form->handleRequest($request);
$data = $form->getData();

$em = $this->getDoctrine()->getManager();

for ($i=0; $i < count($questions); $i++) {

$value = $data[$questions[$i]->getId()];

if ($value == null)
continue;

$ans = $answerRepository->findOneBy(array('question' => $questions[$i]));

if ($ans != null && $ans->getAnswer() != $value) {

$ans->setAnswer($value);
$ans->setUpdatedOn(new \Datetime());
}
else if ($ans == null) {

$ans = new Answer();

$ans->setAnswer($value);
$ans->setQuestion($questions[$i]);
$ans->setCreatedOn(new \Datetime());
$ans->setUpdatedOn(new \Datetime());

$em->persist($ans);
}
}
$em->flush();
}

如何使用自定义的文本框呈现每一行?

谢谢你的帮助

最佳答案

FormBuilder 中设置 CSS 类:

$tmpForm->add(
$questions[$i]->getId(),
TextType::class,
array(
'required' => false,
'label' => $questions[$i]->getQuestion(),
'data' => ($answer != null ? $answer->getAnswer() : ''),
'attr' => array('class' => 'form-control')
)
);

如果您需要更多自定义输入,那么我会推荐 form rendering .

关于php - 显示大量带有类的表单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36254095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com