0

ここで明らかな何かが欠けているように感じます。選択できるユーザーのリストを提供するエンティティフォームフィールドがあります。ここでのアイデアは、プロジェクトを作成し、それをその(または複数の)ユーザーに関連付けることです。私はそれほど問題なくこれを達成しましたが、そのフォームフィールドにアクセスして操作する方法を理解できません。

フォームフィールドの設定方法は次のとおりです。

->add('user', 'entity', array(
'class' => 'DevUserBundle:User',
'label'  => 'Assigned Users: ',
'multiple'=> true,))

コントローラでは、次のことを行います。

$data = $form->getData();

私はフィールドにアクセスできますが、$data['user']それを超えると迷子になります。

4

1 に答える 1

1

どのユーザーが選択されているかを確認するために、シンタックスはあなたが提案したものと似ています。

$usersSelected = $form["user"]->getData();

編集

print_r($userSelected)ステートメントにこのような長いリストがある理由は、オブジェクト$userSelectedの配列であるためです。User確かに、ビルダーで見ることができるように:->add('user', 'entity'...)

この方法でこれを確認できます

$i = 1;
foreach ($usersSelected as $user)
{
    echo "User number ".$i;
    echo get_class($user);
    //Assuming that you have the method getUsername() in you User entity
    echo "Username is".$user->getUsername();
    $i++;
}
于 2012-09-08T06:18:58.330 に答える