私は Symfony2 を使用していますが、ここに問題があります。カテゴリ、サブカテゴリ、および記事の 3 つのエンティティがあります。カテゴリには多数のサブカテゴリを含めることができ、各サブカテゴリには多数の記事を含めることができます。そのため、Category と SubCategory の間、および SubCategory と Article の間に双方向の oneToMany 関係があります。このデザインは制約であり、変更することはできません。
ユーザーがカテゴリを選択してから、記事が属するサブカテゴリを選択する必要がある記事を編集するためのフォームを作成する必要があります。
ただし、ユーザーがカテゴリドロップダウンの値を変更したときに、サブカテゴリのリストを動的に更新する方法が見つかりません。サブカテゴリのドロップダウンには、現在のカテゴリにリンクされているサブカテゴリのみが表示されます。
記事を編集するためのフォームタイプをすでに作成しました:
class ArticleType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('domain', new SubCategoryPickerType())
->add('title')
->add('description')
->add('content')
;
}
// ...
次に、2 つのドロップダウン リストに基づいてエンティティを取得するためのフォームの作成を開始しました。
class DomainPickerType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('category')
->add('name', 'entity', array(
'class' => 'Htbf\CoreBundle\Entity\SubCategory',
'property' => 'name'))
;
// ...
問題は、このように、2 つのドロップダウンが互いに依存しないことです。最初のドロップダウンが変更されたときに 2 番目のドロップダウンは更新されず、2 番目のドロップダウンには、現在のカテゴリに関連付けられているものではなく、サブカテゴリのすべての可能性が含まれています。
それを行う方法はありますか?前もって感謝します !