小编Ant*_*tin的帖子

提交后更改表单字段的数据

我有字段'url'的Message实体.和MessageType表单.用户可以在"url"中键入不同的URL,但只有主机持久保存到数据库中.我需要使用Symfony2 Form Event.所以我尝试在下一个代码中实现它:

class MessageType extends AbstractType
{

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('url'); 

         $builder->addEventListener(
                FormEvents::SUBMIT,
                function(FormEvent $event) {
                    $form = $event->getForm();

                    $data = $event->getData();
                    $url = $data->getUrl();
                    $form->setData(parse_url($url), PHP_URL_HOST);
                }
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下通知:

"注意:数组转换为字符串"

这是什么意思?

我的Message实体有方法__toString():

public function __toString()
{
    return $this->getUrl();
}
Run Code Online (Sandbox Code Playgroud)

谢谢

php forms symfony

2
推荐指数
1
解决办法
7257
查看次数

标签 统计

forms ×1

php ×1

symfony ×1