この質問はHow to filter my Doctrine queries with Symfony ACLSymfonyのACLを使用する場合、JOINクエリまたはIN配列クエリを使用する方が良いでしょうか?
- あるクラス/エンティティ等での議論に基づいて構築します製品
- それは我々が許可/製品これを考慮して
、方法へのアクセスを制限するためにACLを使用しているデータベーステーブルの各行は、オブジェクトを表し
各製品を経由して、ユーザーがアクセス権を持っているかどうかを確認してください...これはすぐに悪くなります。
前の説明では、IN配列またはJOINクエリのいずれかを使用していました。 ARRAYのアプローチでは
製品のリストを取得するには、ユーザーが(acl_entries table
から)へのアクセスを持って、IDS、その後、products table
のINアレイクエリを実行します。
JOINのアプローチproducts table
でacl_entries table
に参加してください。
(注意、両方のケースでparent_aclsが使用されていない)