1

私は現在、Smyfony2 でのユーザー登録を整理しようとしています。大まかにこちらのドキュメントに従っています: http://symfony.com/doc/current/cookbook/doctrine/registration_form.html 悲しいことに、彼らの例は少し単純化されています。

私の User Entity には、登録時にのみ追加され、その後は変更できない多くのフィールドがあるため、それらを UserType から RegistrationType に分離しました。

ここでの問題は、Symfony が登録モデルでそれらを探しているため、ユーザーエンティティ内に存在するフォームに要求されたフィールドを見つけることができないことです。登録モデルが User Entity を指すようにするにはどうすればよいですか? ドキュメントの例では、「利用規約」チェックボックスがデータベースに追加されないため、これらすべてを回避しています。

たとえば、彼らはこれを使用します:

$builder->add('user', new UserType());

しかし、私が述べたように、それには登録後にユーザーに編集してもらいたいフィールドしかありません。

data_class を試してみましたが、Form\Model\Registration のタイプが Entity\User ではないというエラーが表示されました。

これらは、単一のエンティティにフォームのビットを埋め込もうとしているときに非常に一般的な問題のように思えますが、ドキュメントではカバーされていません。

いいえ、FoSUserBundle は使いたくありません。

4

1 に答える 1

0

実際、同じモデル クラスに対して複数のフォーム タイプを使用することは可能であり、非常に簡単です。RegistrationType多くのフィールドをUserType使用して、それらのフィールドの一部のみを使用することができます。どちらも同じUserモデルを使用しています。

于 2013-09-16T16:58:18.373 に答える