1

ロールが選択されているかどうかに関係なく、新しいユーザーを作成しようとすると、次のエラーが発生します。

無効な状態です。originalRoles 配列が設定されていません

役割の選択肢は次のように追加されます (変更されず、ベンダーから直接提供されます)。

->add('realRoles', 'sonata_security_roles', array(
                    'label'    => 'form.label_roles',
                    'expanded' => true,
                    'multiple' => true,
                    'required' => false
                ))

そして、ここに例外を返すコードがあります (ベンダーから直接提供されているため、実際の問題でない限り、ここでエラーを修正することはおそらくお勧めできません)。

/**
 * {@inheritdoc}
 */
public function reverseTransform($selectedRoles)
{
    if ($this->originalRoles === null) {
        throw new \RuntimeException('Invalid state, originalRoles array is not set');
    }

    list($availableRoles, ) = $this->rolesBuilder->getRoles();

    $hiddenRoles = array_diff($this->originalRoles, $availableRoles);

    return array_merge($selectedRoles, $hiddenRoles);
}

解決策やヒントはありますか?

アップデート :

問題は、Github Sonataに移動され、さらに情報が追加されました。

4

1 に答える 1