1
1つのエンティティ属性に対して3つの選択フィールドが3つあります。下の写真が示すように。 Symfony - 1つのエンティティ属性の複数のフィールド
どの選択フィールドが使用されているかを検出する方法はありますか。その値を取得し、それを対応する属性でマップしますか?
パラメータをフォームタイプ(この例ではTestType
、以下を参照してください)に送信することは可能ですか?私はそれを一般的なものにし、他の属性に再利用可能にしようとしています。
これは私が今まで持っているものです。
MyForm.php
<?php
namespace MyBundle\Form;
use MyBundle\Form\Type\TestType;
use ..etc
class MyForm extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title', TextType::class)
->add('D1', TestType::class);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'MyBundle\Entity\Project'
));
}
public function getBlockPrefix()
{
return 'mybundle_project';
}
}
TestType.php
<?php
namespace MyBundle\Form\Type;
use Sonata\AdminBundle\Form\Type\Filter\ChoiceType;
use ..etc
class TestType extends AbstractType
{
/*
* private $myArray1;
* private $myArray2;
* private $myArray3; numberOfSeletcs
* private $numberOfSeletcs;
Secondary Question: Is it possible to send these values as parameters?
public function __construct($array1, $array2, $array3, $n)
{
$this->myArray1= $array1;
$this->myArray2= $array2;
$this->myArray3= $array3;
$this->numberOfSeletcs= $n;
}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$myArray1 = array('label1'=>'','Value1'=>'Value1', 'Value2'=>'Value2','Value3'=>'Value3');
$myArray2 = array('label2'=>'', 'Value4'=>'Value4','Value5'=>'Value5');
$myArray3 = array('label3'=>'', 'Value6'=>'Value6','Value6'=>'Value6');
$builder
// ...
->add('H1', 'choice', array(
'choices' => $myArray1,
'choice_attr' => ['label1' => ['disabled selected hidden'=>'']]))
->add('H2', 'choice', array(
'choices' => $myArray2,
'choice_attr' => ['label2' => ['disabled selected hidden'=>'']]))
->add('H3', 'choice', array(
'choices' => $myArray3,
'choice_attr' => ['label3' => ['disabled selected hidden'=>'']]));
}
}
感謝。
ありがとうございました。お返事の2番目の部分は解決策を見つけるのに役立ちました。これは私のために働いたものです:https://stackoverflow.com/questions/44390433/symfony-3-sending-the-options-argument-values-from-formtype-to-underformtype 私はあなたの最初の提案に取り組みます今。 – M20
これは私が持っているところまでです。https://stackoverflow.com/questions/45787862/symfony-data-transformers-access-normalised-data jqueryスクリプトを実装して使用する選択フィールドを検出することができました。変更の兄弟はnull(ラベル値)を選択します。次に、どちらがnullでないかを調べます。しかし、私はデータトランスフォーマーに問題を発見しました。 – M20