【问题标题】:Get value from collection field in Twig从 Twig 的集合字段中获取值
【发布时间】:2014-07-20 21:55:54
【问题描述】:

我有收集表单,需要访问要在我的视图中显示的值。问题似乎是声明为整数的关键变量,我得到了这样的错误:

无法访问整数变量(“0”)的属性(“nama”) 在 SifoAdminBundle:DftAbsensi:manage.html.twig 第 65 行

这是我的树枝:

{% for key, absensi in form_edit %}
    <li>{{ form_edit.vars.value.statusS.key.nama }}</li>
{% endfor %}

如果我将{{ form_edit.vars.value.statusS.key.nama }} 更改为{{ form_edit.vars.value.statusS.1.nama }},它就可以正常工作。

这里是我的控制器:

/* Show data */
        $emShow = $this->getDoctrine()->getManager();
        $collectionAbsensi = new CollectionAbsensi();
        foreach ($entityGrupPelajar as $temp) {
            $entity = new DftAbsensi();
            $entity = $emShow->getRepository('SifoAdminBundle:DftAbsensi')->findOneBy(array('idGrupPelajar' => $temp, 'tanggal' => $tanggal));
            if ($entity)
            {
                $entityPelajar = $emShow->getRepository('SifoAdminBundle:MstPelajar')->find($temp->getIdPelajar());
                $dftAbsensi = new DftAbsensi();
                $dftAbsensi->setId($entity->getId())
                    ->setIdGrupPelajar($entity->getIdGrupPelajar())
                    ->setTanggal($entity->getTanggal())
                    ->setStatus($entity->getStatus())
                    ->setNis($entityPelajar->getNis())
                    ->setNama($entityPelajar->getNama())
                ;
                $collectionAbsensi->getStatusS()->add($dftAbsensi);
            }
        }
        $emShow->flush();

        $formEdit = $this->createForm(new CollectionAbsensiType(), $collectionAbsensi);
        $formEdit->add('save', 'submit', array('attr' => array('class' => 'btn btn-info')));

        return $this->render('SifoAdminBundle:DftAbsensi:manage.html.twig', array(
            'form_edit'      => $formEdit->createView(),
        ));

我已经搜索过这个问题也阅读了问题#902,但这个问题仍然出现在我的 PHP 5.4 上的 Symfony 2.4 中

有什么方法可以在没有键的情况下在迭代中获得该值?

【问题讨论】:

    标签: symfony twig


    【解决方案1】:

    尝试改变

    form_edit.vars.value.statusS.key.nama

    form_edit.vars.value.statusS[key].nama

    前者等价于$form_edit['vars']['value']['statusS']['key']['nama'](不存在),后者等价于$form_edit['vars']['value']['statusS'][$key]['nama']

    【讨论】:

    • 效果很好,谢谢。这就是我如何称呼表格form_edit.statusS[key].status ^^~
    猜你喜欢
    • 2019-08-06
    • 2020-07-21
    • 2020-03-15
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多