通过API获取镜头时是否可以(或有人找到方法)应用过滤器,即;
http://my-site.test/nova-api/my-model/lens/my-lens?filter=MyFilter
如果有人知道如何添加多个过滤器的能力也会很酷
通过API获取镜头时是否可以(或有人找到方法)应用过滤器,即;
http://my-site.test/nova-api/my-model/lens/my-lens?filter=MyFilter
如果有人知道如何添加多个过滤器的能力也会很酷
我想出了如何做到这一点,过滤器在被base64编码后通过$request->filters
,例如;
[
{"class":"App\\Nova\\Filters\\MyFilter","value":1}
]
假设这是您的“过滤器”有效负载,您对其进行 base64 编码;
Ww0KICAgICAgICB7ImNsYXNzIjoiQXBwXFxOb3ZhXFxGaWx0ZXJzXFxNeUZpbHRlciIsInZhbHVlIjoxfQ0KICAgIF0=
那么您将通过的 URL 将是;
http://my-site.test/nova-api/my-model/lens/my-lens?filters=Ww0KICAgICAgICB7ImNsYXNzIjoiQXBwXFxOb3ZhXFxGaWx0ZXJzXFxNeUZpbHRlciIsInZhbHVlIjoxfQ0KICAgIF0=
private function filterize($id)
{
$filter = base64_encode('[{"class":"App\\\\Nova\\\\Filters\\\\Ticket","value":"'.$id.'"}]');
return trim($filter);
}
然后只需使用
http://my-site.test/nova-api/my-model/lens/my-lens?filter={!! filterized_value !!}