@@ 91-104 (lines=14) @@ | ||
88 | * |
|
89 | * @return SearchRequest |
|
90 | */ |
|
91 | public function buildSearchRequest(Request $request) |
|
92 | { |
|
93 | $search = new SearchRequest(); |
|
94 | /** @var FilterInterface[] $filters */ |
|
95 | $filters = $this->all(); |
|
96 | ||
97 | foreach ($filters as $name => $filter) { |
|
98 | $state = $filter->getState($request); |
|
99 | $state->setName($name); |
|
100 | $search->set($name, $state); |
|
101 | } |
|
102 | ||
103 | return $search; |
|
104 | } |
|
105 | ||
106 | /** |
|
107 | * Builds elastic search query by given SearchRequest and filters. |
|
@@ 114-125 (lines=12) @@ | ||
111 | * |
|
112 | * @return Search |
|
113 | */ |
|
114 | public function buildSearch(SearchRequest $request, $filters = null) |
|
115 | { |
|
116 | $search = new Search(); |
|
117 | ||
118 | /** @var FilterInterface[] $filters */ |
|
119 | $filters = $filters ? $filters : $this->all(); |
|
120 | foreach ($filters as $name => $filter) { |
|
121 | $filter->modifySearch($search, $request->get($name), $request); |
|
122 | } |
|
123 | ||
124 | return $search; |
|
125 | } |
|
126 | } |
|
127 |