php Symfony API POST:绑定请求与FormType不工作

pn9klfpd  于 2023-11-16  发布在  PHP
关注(0)|答案(1)|浏览(151)

我是新的Symfony和我有问题弄清楚为什么我的代码不工作。
在我的控制器中,我有一个函数管理我的API的Post请求:

public function postMyEventAction(Request $request)
    {
        

        $entity = new MyEvent();
        
        $form = $this->createForm(new MyEventType(), $entity);
        
        $form->bind($request);

        if ($form->isValid()) {
            
            $em = $this->getDoctrine()->getManager();
            $em->persist($entity);
            $em->flush();

字符串
.我的表单类型

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class MyEventType extends AbstractType
{
        /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('organiser')
            ->add('token')
            ->add('event')
            ->add('persons')
        ;
    }
    
    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'EventManageBundle\Entity\MyEvent',
            'csrf_protection' => false
        ));
    }

}


当我用JSON post请求调用我的API时,$entity保持为空。我不明白为什么。

ztyzrc3y

ztyzrc3y1#

我认为你只需要将数据设置为实体(我个人使用一个表单来保持独立的逻辑),比如:

$entity->setOrganizer($form->get('organizer')->getData());

字符串
等等

相关问题