传递搜索策略以从剩余URI进行过滤

时间:2019-02-12 14:55:16

标签: symfony doctrine api-platform.com

首次使用api平台和Symfony 4为MySQL数据库创建API接口。

我正在为数据库更新一个旧的搜索界面,我需要为其复制许多搜索选项。这包括能够使用各种匹配的运算符/策略在给定字段上进行搜索。例如开头,包含完全相等的数字,等等。

我已经使用注释为api设置了所有内容。

我的表类上的@ApiFilter(SearchFilter :: class,properties = {“ fieldname”:“ strategy”}注释按设计工作,但我仅限于每个字段只能使用一种策略。才能将策略传递给url中的api搜索功能。

/api/staff?lastname[start]=dav

/api/staff?lastname=david&match=contains

/api/staff/lastname/son?searchtype=end

会没事的。

我不知道该如何设置。令人震惊的是,无论如何,对我来说,这个共同的要求似乎根本没有记载。

1 个答案:

答案 0 :(得分:0)

位于仓库https://github.com/jordonedavidson/custom_search_filter上的CustomSearchFilter.php文件使用

解决了该用例

var a="{([])}"; var len=a.length(); var count=0; for(var i=0;i<len;i++) { if(a[i]=='{'||a[i]=='['||a[i]=='(') { count++; } else { count--; } } if(count==0) { console.log("balanced"); } else { console.log("unbalanced"); }

语法。

该文件由Api Platform的作者凯文·邓格拉斯(KévinDunglas)撰写,并附上他的祝福。