В чём задача? Чтобы ссылки пагинации содержали параметры запроса, по которым вы фильтруете результаты выборки?
Тогда при чём тут $_POST?
Вы же потом при клике на ссылку get-запрос делаете. Очевидно, что в данном случае $_POST у вас пустой.
В общем, для сохранения параметров из реквеста используйте метод withQueryString пагинатора.
$results = DB::table('table_name')
...
->paginate(10)
->withQueryString();
Но, как уже написал, это работает, если параметры приходят в строке запроса.
Если вам принципиально, чтобы первый запрос приходил через POST и параметры содержались именно в теле запроса, можете добавлять их в пагинатор через условие.
$results = DB::table('table_name')
...
->paginate(10);
if (request()->isMethod('POST')) {
$results->appends(request()->post());
} else {
$results->withQueryString();
}
Но не представляю зачем такое может понадобиться, если потом по ссылкам вы всё равно getОм ходить будете.
П.С. и не используйте глобальные массивы напрямую.
В Laravel для этого есть специальные методы:
query - из строки запроса, post - из тела post-запроса, input - из первого и второго.