0

私はこのコードを使用します

$builder->add('userTasks','collection',array('type' => new UserTaskType()));

これは正常に機能しています

userTasksは、フォームを作成するさまざまなuserTaskオブジェクトのコレクションになります。

これで、このようにコンストラクターで個々のUserTaskオブジェクトを渡すことができる方法はありますか?

$builder->add('userTasks','collection',array('type' => new UserTaskType($userTask)));

それを使用してフォームのラベルを生成できるようにします。

出来ますか

使用する場合 $user->UseTasks、それはすべてのタスクのコレクションになりますが、フォームが作成されているオブジェクトのみが必要です

4

1 に答える 1

1

質問を正しく理解している場合、フォームがバインドされる実際のデータオブジェクトに基づいてフォームを調整しますか?これは、実際には少し複雑な単純なサウンド要件の1つです。

フォームイベントシステムを使用する必要があります: http ://symfony.com/doc/master/cookbook/form/dynamic_form_generation.html

あなたがそれをやり遂げたら、それはそれほど悪くはありません。

===

最初のコメントに答えるには:

public function preSetData(DataEvent $event)
{
    $data = $event->getData();
    $form = $event->getForm();

$ dataがオブジェクトになります。この場合は、$userTaskです。

于 2012-08-07T14:36:11.233 に答える