@@ -267,8 +267,10 @@ protected function applyFilters()
267267 $ e ->addUserMessage ('VALIDATE.SPRUNJE.BAD_FILTER ' , ['name ' => $ name ]);
268268 throw $ e ;
269269 }
270- // Set orFilter to 'false' to require a match on _all_ fields
271- $ this ->query = $ this ->buildFilterQuery ($ this ->query , $ name , $ value , false );
270+ // Since we want to match _all_ of the fields, we wrap the field callback in a 'where' callback
271+ $ this ->query = $ this ->query ->where (function ($ fieldQuery ) use ($ name , $ value ) {
272+ return $ this ->buildFilterQuery ($ fieldQuery , $ name , $ value );
273+ });
272274 }
273275
274276 return $ this ->query ;
@@ -285,7 +287,10 @@ protected function filterAll($query, $value)
285287 {
286288 foreach ($ this ->filterable as $ name ) {
287289 if (studly_case ($ name ) != 'all ' && !in_array ($ name , $ this ->excludeForAll )) {
288- $ query = $ this ->buildFilterQuery ($ query , $ name , $ value , true );
290+ // Since we want to match _any_ of the fields, we wrap the field callback in a 'orWhere' callback
291+ $ query = $ query ->orWhere (function ($ fieldQuery ) use ($ name , $ value ) {
292+ return $ this ->buildFilterQuery ($ fieldQuery , $ name , $ value );
293+ });
289294 }
290295 }
291296
@@ -300,25 +305,15 @@ protected function filterAll($query, $value)
300305 * @param mixed $value
301306 * @return Builder
302307 */
303- protected function buildFilterQuery ($ query , $ name , $ value, $ orFilter = true )
308+ protected function buildFilterQuery ($ query , $ name , $ value )
304309 {
305310 $ methodName = 'filter ' .studly_case ($ name );
306311
307312 // Determine if a custom filter method has been defined
308313 if (method_exists ($ this , $ methodName )) {
309314 $ query = $ this ->$ methodName ($ query , $ value );
310315 } else {
311- if ($ orFilter ) {
312- // Since we want to match _any_ of the fields, we wrap the field callback in a 'orWhere' callback
313- $ query = $ query ->orWhere (function ($ fieldQuery ) use ($ name , $ value ) {
314- return $ this ->buildFilterDefaultFieldQuery ($ fieldQuery , $ name , $ value );
315- });
316- } else {
317- // Since we want to match _all_ of the fields, we wrap the field callback in a 'where' callback
318- $ query = $ query ->where (function ($ fieldQuery ) use ($ name , $ value ) {
319- return $ this ->buildFilterDefaultFieldQuery ($ fieldQuery , $ name , $ value );
320- });
321- }
316+ return $ this ->buildFilterDefaultFieldQuery ($ query , $ name , $ value );
322317 }
323318
324319 return $ query ;
0 commit comments