с кредитом для пользователя под названием Kindari @ irc room #laravel в freenode, также кредит принадлежит пользователю iampseudo и Debolaz .
с последующим кодом маршрута laravel,
Route::bind('key_pairs', function($s) { // some logic to transform string to associative array $arr = explode("/",$s); $arr2 = array(); if(count($arr)%2 == 0) { for($i=0;$i<count($arr);$i+=2) { $arr2[$arr[$i]] = $arr[$i+1]; } } return $arr2; }); Route::get('foo/{key_pairs}', function($key_pairs) { var_dump($key_pairs); })->where('key_pairs', '.*');
теперь мы можем получить / foo / page / 1 для Laravel, чтобы читать как / foo? page = 1, но бывший более симпатичный, чем последний.
теперь здесь нужно, чтобы экземпляр pagination Laravel читал / page / 1, а не? page = 1, поэтому красивые URL-адреса страниц будут работать гладко.
Кто-нибудь знает теперь, чтобы сделать это, не изменяя базовый код?
если мы можем иметь что-то вроде Users :: paginate (5) -> page ($ page) или любую другую функциональность, если она уже существует (которую я не могу найти), это здорово.
ура
Хорошо, проблема решена, теперь довольно страницы URL для Laravel работает, и вот решение.
Я добавил метод getByPage в соответствующий класс модели, опубликованный по следующей ссылке: http://culttt.com/2014/02/24/working-pagination-laravel-4/ (Кредит идет ему)
и называется $this->user->getByPage($page, $limit);
в маршрутах,
Там у нас есть Pretty pagination urls!