2016-03-15 2 views
0

Провел последние 2 часа, пытаясь понять это, но, похоже, не нашел решения. Мне нужна помощь с функцией отображения таблицы на странице. Я пытаюсь выяснить, как добавить к url ​​параметр ?displayPerPage=10.Laravel Display Per Page

Я пробовал функцию url() laravel, но он просто дает мне/displayPerPage/10 Я также попробовал Request :: fullUrl(), но он принимает любые аргументы.

Я думал о написании функции в jquery, которая будет добавляться к URL-адресу, но есть лучший способ. Любая помощь ценится !!

EDIT: мне нужно сделать это в виду, так как у меня есть выпадающий в моей таблице для пользователя, чтобы выбрать, сколько результатов на странице они хотят, чтобы отобразить

P.S. Я использую Laravel 5.1 на WAMP

+0

Https : //laracasts.com/discuss/channels/general-discussion/generating-a-route-with-a-query-string-parameter – MECU

+1

https://laravelcollective.com/docs/5.0/html имеет отличную вспомогательную функцию ' link_to_route', которые позволяют s this: 'link_to_route ('route.name', $ title = null, $ parameters = array(), $ attributes = array());' – MECU

+0

thats почти то, что я ищу, однако, я просто перестроил свой код на используйте метод link_to_route и стирают мои другие параметры 'orderBy = total_payment & sortBy = DESC' и заменяются' displayPerPage = 10', мне нужно что-то, что добавит url – max234435

ответ

0

Что-то вроде этого:

<a href="{{route('my-route')}}?perPage=10">link</a> 

И теперь от контроллера, вы можете получить его, как это:

$request->input('perPage')

+0

Спасибо за ответ, если я это сделаю, попробуй его стереть мои другие параметры, такие как sortBy и orderBy? – max234435

+0

Если параметры, которые вы передаете, различаются? Например, вы передаете несколько параметров? –

+0

Вот что у меня сейчас есть: orderBy = date & sortBy = DESC, поэтому мне нужно добавить & displayPerPage = 10. Это должно быть от представления, поскольку пользователь может выбрать, сколько из них хотят видеть на странице.Кроме того, у меня также есть страничка с разделителями laravels на столе. – max234435

0

Вы можете использовать простой маршрут :

Route::get('/displayPerPage/{perPage}', '[email protected]'); 

Затем в контроллере:

public function index($perPgae) 
{ 
    $pages = Data::paginate($perPage); 

качестве альтернативы, вы можете просто добавить к URL-то вроде '/ книги? Perpage = 10 & OrderBy = что-то & порядок = убыв'. А затем в контроллере использовать эти данные:

$perPage = Input::get('perpage'); 
$orderBy = Input::get('orderby'); 
$order = Input::get('order'); 
$pages = Data::orderBy($orderBy, $order)->paginate($perPage); 

Другой способ сделать это использует Laravel Коллективный или простую форму с одной кнопкой:

{!! Form::open(array('method' => 'Get', 'route' => array('myroute.edit', 10))) !!} 
    <button class="btn-xs btn-info">Edit</button> 
{!! Form::close() !!} 

А затем в контроллере:

public function edit($perPage) 
{