现在我有一个奇怪的问题。最近我开始在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
答案 0 :(得分:1)
这是默认Sylius资源解析程序中的错误,当您未分页或B
未设置时,它会忽略条件和排序。要解决此问题,您应该覆盖limit
参数并对sylius.resource_controller.resources_resolver.class
方法使用以下实现:
getResources