解決できないこの問題に遭遇しました。
私のフォームの 1 つで、エンティティをフィルタリングする必要があります。
背景のビット:
フォームは、ワークフロー ステップに新しいタスクを追加するためのものです。選択できるタスクは、ユーザーがワークフローのどの段階にいるか、ワークフローに割り当てられている製品、およびそのワークフローを管理する会社によって異なります。
フィルタリング クエリを「query_builder」セクションに追加しようとしました。また、エンティティ リポジトリからのクエリ結果を配列の「choices」セクションに入れようとしました。
ただし、作業中のフィールドが無効であるというフォームが常に表示されます。最も不可解な部分は、'choices' フィールドがなくても、そのエンティティのすべてのレコードを取り込む場合、選択ボックスはまったく同じ (いくつかの余分なレコードがあります) - 名前とその方法のパターンです。書いた。そして、それはうまくいきます。そのため、何が起こっているのかまったくわかりません。
フォーム要素コード:
->add('instructionAction', 'entity', array(
'label' => 'Action',
'empty_value' => 'Select Action',
'required' => true,
'class' => 'ApplicationTrackpadCommonBundle:InstructionAction',
'property' => 'description',
'choices' => $this->instructionActionRepository->findAllForCaseInstruction( $options['caseInstructionId'] )
)
)
クライアントの作業用であるため、投稿できるコードの量がわかりません。WHERE
私が使用するクエリは、クエリを使用しない場合と同様に、ドロップダウン ボックスに適切にデータを入力しています。また、句なしですべてのエンティティを選択しても、同じ問題が発生します。
助けてくれてありがとう。