dongzhun6952 2016-03-25 16:09
浏览 9
已采纳

在symfony中以嵌套形式symfony(孩子的孩子)访问按钮

This is form i use:

$form = $this->createForm(new NewsType(), $news)
            ->add('edit', SubmitType::class, array('label' => 'edit'))
            ->add('delete', SubmitType::class, array('label' => 'delete'))
            ->add('comments', CollectionType::class, array('entry_type'   => CommentType::class));

CommentType:

 public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('author', TextType::class)
        ->add('text', TextType::class)
        ->add('remove', SubmitType::class);
}

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => 'AppBundle\Entity\Comment'));
}

Is it possible to access remove button from CommentType so when its clicked to delete comment entry. Everything is mapped properly, i can see comment objects displayed on my page, but when i use $form->get('remove') i get "Child "remove" does not exist." Is it even possible to do this way?

  • 写回答

1条回答 默认 最新

  • douchao9899 2016-03-26 12:07
    关注

    You need to access a grand grand child doing:

    foreach ($form->get('comments') as $entry) {
        $toRemove = $entry->get('remove')-isClicked();
        // handle it ...
    }
    

    But to submit it separately you must ensure that your building the "complete" child form in your view:

    {{ form_start(form) }}
    {% for child in form %}
        {% if 'news_comments' == child.vars['full_name'] %}
            {{ form_start(child) }}
            {{ form_row(child) }}
            {{ form_end(child) }}
        {% else %}
            {{ form_row(child) }}
        {% endif %}
    {% endfor %}
    {{ form_end(form) %}
    

    Aside note:

    be careful, you seem to use symfony 2.8 and to have updated the FQCN for the form types, but it's needed too for creating the form:

    $form = $this->createForm(NewsType::class, $news)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来