检索条令中列的计算子集



我想开发一个基于Slim框架和Doctrine 2的RESTful API。我有详细的权限管理。因此,我的权限定义为:role:admin|entity:person|column:name|write:1我正在考虑在web服务中实现正确管理的最有效方法。因此,在构建查询时,我需要过滤计算的列子集。什么是最好的地方,仍然可以让我使用所有默认方法,如findAll()等。我当然可以过滤我的字段,如下所示:

 $all = Article::createQuery('a')->getArrayResult();
 /*this is getting ALL the fields -it would be better to filter before 
   retrieving from the db
 */
 $allFiltered = array();
 foreach($all as $index=>$article){
  $filteredArticle = new Article();
  foreach($user->getPermission('Article','r') as $permission){
    $column = $permission->column;
    $filteredArticle->$column = $article->$column;
   }
 $allFiltered[$index]=$filteredArticle
)
 $app->response->setBody(json_encode($all));

有没有一种方法可以在一个地方为所有检索方法做到这一点?

Doctrrine2可以选择部分对象单据您可以获取所有允许的列,只需连接一个查询。。。

相关内容

  • 没有找到相关文章

最新更新