在我有如下过滤器参数之前:width: 195diameter: 15load: 91所以,我只是使用以下查询来检索结果。$list = $this->entityManager->getRepository(List::class)->findBy($filterArray);现在,我的要求改变了。我可以传递逗号分隔的字符串width: 195,245diameter: 15load: 91所以,首先我将这个字符串转换成数组:[ "width" => [ 0 => "195" 1 => "245" ] "diameter" => [ 0 => "15" ] "load" => [ 0 => "91" ]]现在我不确定如何进行查询。过滤器参数可以变化。没有必要传递所有参数。
1 回答
烙印99
TA贡献1829条经验 获得超13个赞
使用findBy
函数,您可以使用数组参数进行过滤。例如,如果您需要查找实体,width: 195,245
您可以像这样传递数据
['width' => [195, 245]]
要删除空参数,您可以使用array_filter
函数
$list = $this->entityManager->getRepository(List::class)->findBy(array_filter($filterArray));
稍后如果你的参数会增长,你可以使用 Doctrine QB 来过滤你的数据
- 1 回答
- 0 关注
- 97 浏览
添加回答
举报
0/150
提交
取消