2015-03-15 4 views
2

Я пытаюсь иметь две страницы на одной странице.Laravel 5 множественных разбиений на одну страницу

Вид:

{{!! $items->appends(['page2' => Request::input('page2', 1)])->render() !!}} 

Но это не работает, как использование пользовательских $ Pagename для пагинацией ($ изделия-> setPageName ('custom_page_parameter')) ссылки не работают в Laravel 5.

https://stackoverflow.com/questions/29035006/laravel-5-pagination-wont-move-through-pages-with-custom-page-name

Вот как я это сделал в Laravel 4:

Laravel Multiple Pagination in one page

Что такое способ Laravel 5?

+0

У вас есть ключ? –

+0

Это ответили там: http://stackoverflow.com/questions/24086269/laravel-multiple-pagination-in-one-page –

+0

@mahmoud Это работает в Laravel 4, но не в Laravel 5 – leoel

ответ

0

Попробуйте использовать функцию \Paginator::setPageName('foo'); Befor ПОСТРОЕНИЯ вашего Paginator объекта:

\Paginator::setPageName('foo'); 
    $models = Model::paginate(1); 
    return view('view_foo', compact('models')); 

Этот вопрос тоже может помочь: Laravel 5 pagination, won't move through pages with custom page name

отметить Также есть ошибка атм: https://github.com/laravel/framework/issues/8000

7

Я провел слишком много времени, пытаясь выяснить, как это сделать, поэтому я решил поделиться своими выводами, если там будет другая бедная душа, подобная мне. Это работает в 5.1 ...

В контроллере:

$newEvents = Events::where('event_date', '>=', Carbon::now()->startOfDay()) 
    ->orderBy('event_date') 
    ->paginate(15,['*'], 'newEvents'); 

$oldEvents = Events::where('event_date', '<', Carbon::now()->startOfDay()) 
    ->orderBy('event_date', 'desc') 
    ->paginate(15,['*'], 'oldEvents'); 

Тогда продолжают, как обычно, по мнению: `

// some code to display $newEvents 
{!! $newEvents->render() !!} 

// some code to display $oldEvents 
{!! $oldEvents->render() !!} 

Теперь, что это не сделать, это вспомнить страницы $ oldEvents при пейджинге через $ newEvents. Есть идеи по этому поводу?

Список литературы:

+0

Короче говоря, -> paginate (15, ['*'], 'newEvents'); Не забывайте пропущенную цитату «newEvents» – Snook

+0

Чтобы запомнить номер страницы для $ oldEvents при подкачке $ newEvents, используйте это: {{$ newEvents -> appends (["oldEvents" => $ oldEvents -> currentPage()]) -> links()}} и наоборот для подкачки oldEvents: {{$ oldEvents -> appends (["newEvents" => $ newEvents -> currentPage()])>> ссылки ()}} – John1984

5
$published = Article::paginate(10, ['*'], 'pubArticles'); 
$unpublished = Article::paginate(10, ['*'], 'unpubArticles'); 

Третий аргумент для постраничной() метод используется в URI следующим образом:

Laravel/общественности/? статьи pubArticles = 3

Laravel/общественные/статьи unpubArticles = 1

+0

Это работает в Laravel 5.3. Благодаря! – BakerStreetSystems

2

В контроллере:?

$produk = Produk::paginate(5, ['*'], 'produk'); 
$region = Region::paginate(5, ['*'], 'region'); 

в поле зрения:

{{$produk->appends(['region' => $region->currentPage()])->links()}}  
{{$region->appends(['produk' => $produk->currentPage()])->links()}} 

ссылка на: [Laravel 5] Multi Paginate in Single Page

Смежные вопросы