我是新的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
保持为空。我不明白为什么。
1条答案
按热度按时间ztyzrc3y1#
我认为你只需要将数据设置为实体(我个人使用一个表单来保持独立的逻辑),比如:
字符串
等等