FOSRestBUndle APIのテストと質問の間に多対多の関係があります。 postを通して作成しているテストに複数の質問を投稿/関連させたい場合は、私のjsonオブジェクトを書式設定する必要があります。私は現在、文字列変換のNotice:Arrayを取得しています。質問は、私は関連付けるために、複数の質問を投稿することができますどのように私のFOSRestControllerに=配列にFOSRestは通知を生成します:文字列変換への配列
JSON
{
"event":"1",
"testId":"3",
"module":"1",
"title":"Test"
"description":"Test",
"enabled":1,
"isSpeedTest":1,
"question":[1,2]
}
TestQuestionsType.php
<?php
namespace TeamGraduate\APIBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class TestQuestionsType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('body')
->add('allowableTime')
->add('created',
'datetime', array('widget' => 'single_text', 'date_format' => 'YYYY-MM-DD hh:mm:ss'))
->add('updated',
'datetime', array('widget' => 'single_text', 'date_format' => 'YYYY-MM-DD hh:mm:ss'))
->add('enabled')
->add('marks')
->add('topic')
->add('creatorUser')
->add('test')
->add('tag')
;
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'TeamGraduate\APIBundle\Entity\TestQuestions'
));
}
/**
* @return string
*/
public function getName()
{
return 'teamgraduate_apibundle_testquestions';
}
}
TestsType.php
<?php
namespace TeamGraduate\APIBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class TestsType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title')
->add('description')
->add('created',
'datetime', array('widget' => 'single_text', 'date_format' => 'YYYY-MM-DD hh:mm:ss'))
->add('updated',
'datetime', array('widget' => 'single_text', 'date_format' => 'YYYY-MM-DD hh:mm:ss'))
->add('enabled')
->add('isSpeedTest')
->add('creatorUser')
->add('event')
->add('module')
->add('view')
->add('question', 'entity', array(
'multiple' => true,
'expanded' => false,
'property' => 'name',
'class' => 'TeamGraduate\APIBundle\Entity\TestQuestions'
))
->add('reportCard')
->add('cap')
->add('tag')
;
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'TeamGraduate\APIBundle\Entity\Tests'
));
}
/**
* @return string
*/
public function getName()
{
return 'teamgraduate_apibundle_tests';
}
}
をtrueに設定されていますjsonオブジェクトとしてのテストですか?次のようにテストがポストされたとき、私は受け取った質問配列を反復処理するために頼っ
あなたは答えを見つけましたか?私は同じ問題を抱えている。 –
@LexHartman、私の答えを見てください。 –