在 symfony 中请求错误,传递布尔值以形成参数



我在数据库 ID、json、status 中得到了一个表,所有内容都在另一个表中工作,在这个表中我可以保存、读取但不能从存储库获取数据并传递给表单。看:

那是我的滑块类型表单

class SliderType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('status', ChoiceType::class, array(
'data' => $options['status'],
'choices' => array(
"Aktywna" => 1,
"Nieaktywna" => 0
),
'attr' => array(
'class' => 'form-control'
),
))

在这里,我需要从选项解析器传递一个布尔状态变量,因此在控制器中我完成了它的外观:

//tworzymy formularz
$form = $this->createForm(SliderType::class, $request, array(
.
.
'status' => $slider->getStatus,

问题是另一个变量工作得很好,如果我只添加这个,我抛出了一个错误:

Cannot read index "status" from object of type "SymfonyComponentHttpFoundationRequest" because it doesn't implement ArrayAccess.

知道这里出了什么问题吗? 有趣的是,我得到了另一个带有另一个表(结构相同的(的控制器,并且一切正常。

你正在为表单的数据提供symfony的HttpRequest

这导致了您的问题

您应该传递将由表单水合的实体。将滑块实体提供给createForm方法第二个参数

$form = $this->createForm(SliderType::class, $slider, array(
'status' => $slider->getStatus));

您应该告诉表单处理请求并从请求中提取数据,以使用表单水化实体。

$form->handleRequest($request);

您应该阅读表单文档

相关内容

最新更新