@@ 65-78 (lines=14) @@ | ||
62 | * |
|
63 | * @return SearchRequest |
|
64 | */ |
|
65 | public function buildSearchRequest(Request $request) |
|
66 | { |
|
67 | $search = new SearchRequest(); |
|
68 | /** @var FilterInterface[] $filters */ |
|
69 | $filters = $this->all(); |
|
70 | ||
71 | foreach ($filters as $name => $filter) { |
|
72 | $state = $filter->getState($request); |
|
73 | $state->setName($name); |
|
74 | $search->set($name, $state); |
|
75 | } |
|
76 | ||
77 | return $search; |
|
78 | } |
|
79 | ||
80 | /** |
|
81 | * Builds elastic search query by given SearchRequest and filters. |
|
@@ 88-100 (lines=13) @@ | ||
85 | * |
|
86 | * @return Search |
|
87 | */ |
|
88 | public function buildSearch(SearchRequest $request, $filters = null) |
|
89 | { |
|
90 | $search = new Search(); |
|
91 | ||
92 | /** @var FilterInterface[] $filters */ |
|
93 | $filters = $filters ? $filters : $this->all(); |
|
94 | ||
95 | foreach ($filters as $name => $filter) { |
|
96 | $filter->modifySearch($search, $request->get($name), $request); |
|
97 | } |
|
98 | ||
99 | return $search; |
|
100 | } |
|
101 | } |
|
102 |