0

クラスにエースを追加しようとすると、次のエラーが発生します。

警告:PDO :: quote()は、パラメーター1が文字列であり、オブジェクトが... / vendor / doctrine / dbal / lib / Doctrine / DBAL/Connection.phpの568行で指定されていることを想定しています。

私のコード:

$oid = new ObjectIdentity('class', new Post());

$aclProvider = $this->get('security.acl.provider');

try {
    $acl = $aclProvider->createAcl($oid);
} catch (AclAlreadyExistsException $exists) {
    return;
}

$builder = new MaskBuilder();
$builder->add('view');
$mask = $builder->get();

$acl->insertClassAce(new RoleSecurityIdentity('IS_AUTHENTICATED_ANONYMOUSLY'), $mask);

$aclProvider->updateAcl($acl);

何か案が?

4

1 に答える 1

1

次のようにオブジェクトIDを定義してみてください。

$entityoid = new ObjectIdentity('class', 'YourComp\\YourBundleBundle\\Entity\\Post');
于 2012-08-17T11:58:17.823 に答える