-2

デフォルトで値をsymfonyのフィールド「ロール」に渡すことにより、フォームに非表示のフィールドを追加しようとしています。複数のチュートリアルをチェックしましたが、探しているものが正確に見つかりませんでした。

データベースにフィールド「ロール」を保存する方法、エンティティでフィールド「ロール」を宣言する方法、およびフォームに非表示にしてデータを送信する方法を配置しました。

これは、「ロール」を保存する UsersEntity です。

 /**
 *
 * @ORM\Column(name="roles", type="array", nullable=false)
 */
private $roles = [];

public function getRoles(): ?array
{
    $roles = $this->roles;
    $roles[] = 'ROLE_USER';
    return array_unique($roles);
}

public function setRoles(array $roles): self
{
    $this->roles = $roles;

    return $this;
}

これは私のRegistrationFormTypeです

$builder
        ->add('email')
        ->add('username')
        ->add('lastName')
        ->add( 'firstName')
        ->add('address')
        ->add( 'phone')
        ->add( 'city')
        ->add('postalCode')
        ->add('roles', HiddenType::class, array(
            'data' => 'ROLE_PARTICULAR'
        ));

これがエラーです

配列を渡すことができません。文字列を渡すたびに彼は言います。いくつかの構文を試しましたが、できません。誰か助けてください。Symfony 5 は初めてです。ご協力ありがとうございます。

4

1 に答える 1