Symfony 2.8 SyliusRecourceBundle路由标准

时间:2016-05-22 10:22:43

标签: php symfony sylius symfony-2.8 symfony-routing

现在我有一个奇怪的问题。最近我开始在Symfony 2.8中开发。为了在这个框架中学习,我用API创建了一个自己的项目。一切顺利,直到我面对一条带有标准的路线。

根据documentation我只需要在路径文件中添加“条件”。但它没有表现出任何差异。但是,当我添加“限制”时。然后它正在运作。

路线文件(A和B是假的):

api_A_B:
 path: /A/{id}/B
 methods: [GET]
 defaults:
   _controller: api.controller.B:indexAction
   _sylius:
     paginate: false
     #limit: 900 #WHY?
     criteria:
       A: $id

我读过一些关于“可过滤:真实”的内容,但这是很久以前的事了,而且不在文档中。

使用限制查询响应:

FROM 
  B t0 
WHERE 
  t0.A_id = ? 
LIMIT 
  900

无限制地查询回复:

FROM 
  B t0

1 个答案:

答案 0 :(得分:1)

这是默认Sylius资源解析程序中的错误,当您未分页或B未设置时,它会忽略条件和排序。要解决此问题,您应该覆盖limit参数并对sylius.resource_controller.resources_resolver.class方法使用以下实现:

getResources