[], 'platforms' => [], 'genres' => [], 'games' => [], 'statuses' => [], 'authors' => [], 'authorsMode' => 'or', 'languages' => [], 'languagesMode' => 'or', 'modifications' => [], 'modificationsMode' => 'or', 'sort' => 'created_at', 'dir' => 'desc', 's' => '' ]; $query = array_filter( array_merge($defaults, $params), fn($v,$k) => match(true){ is_array($v) => !empty($v), in_array($k, ['authorsMode', 'languagesMode', 'modificationsMode']) => $v !== 'or', $k === 'sort' => $v !== 'created_at', $k === 'dir' => $v !== 'desc', default => $v !== '', }, ARRAY_FILTER_USE_BOTH ); return route('entries.index', $query ); } }