埋め込みフォームClientTarifaType
は、別のものの中にClientType
と呼ばれています。埋め込みフォーム(ClientTarifaType
)には、Tarifasが既に存在する1つの選択フィールドがあります(Client
とTarifa
にはManyToMany関係があります)。選択フィールド付きのsymfony埋め込みフォーム
ClientType.php
->add('tarifas', CollectionType::class, array(
'entry_type' => ClientTarifaType::class,
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false
))
ClientTarifaType.php
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nombre', EntityType::class, array(
'class' => 'AppBundle:Tarifa',
'label' => 'Tarifa asociada a este cliente',
'placeholder' => 'Elige tarifa...',
));
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Tarifa',
));
}
送られたフォームデータは、タリファのエンティティのフィールドの内タリファのエンティティを表示されますので、内部(あまりにも一方のエンティティを提出する際に問題が来ます同じタイプの別のものです!)、このように:
Tarifa {#1050 ▼
-id: null
-clientes: null
-plaza: null
-mercancia: null
-envios: ArrayCollection {#1054 ▶}
-pesos: array:27 [▶]
-codigo: null
-nombre: Tarifa {#1070 ▼
-id: 1
-clientes: PersistentCollection {#1076 ▶}
-plaza: Plaza {#1129 ▶}
-mercancia: null
-envios: PersistentCollection {#1183 ▶}
-pesos: PersistentCollection {#1201 ▶}
-codigo: "00001"
-nombre: "Canarias"
}
}
私は思っています私の問題はタリファ型のフィールドがあり、data_classもタリファ型です。選択フィールドにnombre属性とid属性のみを入れるにはどうすればよいですか?事前に感謝、どんな助けも歓迎です!
と
ビューには、私は、ユーザーが望む限り多く、複数のタリファを選択する必要があり、それはjQueryので追加する必要があります。しかし、この単純なフィールドをjQueryでどのように使うことができますか? – jmunozco
Jqueryは必要ありません。multiple = trueは複数の場合、チェックボックスを使用する場合は展開を使用できます。 Jqueryを使用すると、それを美しくすることができます。私は通常select select2を使用しますが、必要に応じてoptionalyを使用することができます。私は私の答えを編集しました – h3llr4iser
select2ライブラリhttps://select2.github.io/ – h3llr4iser