Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 07.05.2016 13:34:57

"Рассыпаются" параметры при пагинации

Всем доброго времени суток) Простите за заголовок)))))
Я даже не думал, что на пустом месте может возникнуть такая проблема.
Попросили доделать проект. В нем есть фильтр и пагинация.
Для постраничной пагинации я добавил во вьюху:

{!! $cars->appends(Input::except('page'))->render() !!}

В модели есть метод:

static public function getAllAuto()
    {
        $all = CatalogAuto::where('is_action', '=', 0)
            ->orderBy('update_date', 'desc')
            ->category()
            ->marka()
            ->model()
            ->exchange()
            ->paginate(20);
        return $all;
    }

Контроллер:

public function index()
    {
        $avto = new CatalogAuto();
        $this->data['cars'] = $avto->getAllAuto();

        return view('pages/autocatalog', $this->data);
    }

А проблема собственно в то, что при переходе по страницам пагинации меняется url
в пагинаторе вижу:

http://localhost/autocatalog/?category=0&marka[]=59&year_min=0&year_max=0&custom=0&state=0&page=2

а при переходе получаю в url

http://localhost//autocatalog/?category=0&marka%5B0%5D=59&year_min=0&year_max=0&custom=0&state=0&page=2

То есть при переходе marka[] подменяется на marka%5B0%5D

Подскажите как это исправить.
За ранее спасибо)

Не в сети

#2 07.05.2016 18:57:11

Re: "Рассыпаются" параметры при пагинации

Вопрос снят. Решение найдено. Тем кто налетит на подобные грабли посвящаться))
Controller:

public function index()
    {
        $avto = new CatalogAuto();
         $cars  = $avto->getAllAuto()->Paginate(20);
        $links = str_replace('/?', '?', $cars->appends(Input::except('page'))->render());
        return view('pages/autocatalog', compact('cars', 'links'));
    }

Model:
Отправлять без paginate()
И во view:

{!! $links !!}
 

Не в сети

Подвал раздела