2012-03-30 9 views
5

公式ACLの例のコードは動作します:http://symfony.com/doc/current/cookbook/security/acl.htmlSymfony2の:小枝拡張is_granted( 'EDIT'、コメント)は、foreachループでは動作しません

私がやるなら...問題はない、その

{% if is_granted('EDIT', comment) %} 
    Edit 
{% endif %} 

... "許可アクセス"を関連オブジェクトにしたい場合、動作しません。

{% for comment in news.comments %} 
    comment.content 
    {% if is_granted('EDIT', comment) %} 
     Edit 
    {% endif %} 
{% endfor %} 

私は、「コメント」が「コメントエンティティ」であることを分かりません。

クエリは、 "プロキシ\ JblNewsBundleEntityCommentProxy" の代わりに "JBL \ NewsBundle \エンティティ\コメント" を検索します。

SELECT a.ancestor_id FROM acl_object_identities o INNER JOIN acl_classes c ON c.id = o.class_id INNER JOIN acl_object_identity_ancestors a ON a.object_identity_id = o.id WHERE ((o.object_identifier = '38' AND c.class_type = 'Proxies\\JblNewsBundleEntityCommentProxy')) 

しかし、私はそれを修正する方法がわかりません。

解決策はありますか?

答えて