2014-01-18 3 views
0

По какой-то причине {{$ items-> links()}} ничего не делает.Laravel - ссылки на страницы не отображаются

Прямой причиной этой проблемы является то, что $ items-> getLastPage() возвращает 0. То же $ items-> getTotal().

Я могу изменить параметр страницы в URL-адресе, и он отлично работает - он подходит к правильной странице. однако $ items-> getCurrentPage() возвращает 1 на каждую страницу.

Pagination отлично работает для меня с другими моделями, только этот вопрос дает мне проблемы.

Кроме того, он работает отлично, когда я создаю paginator вручную, но я хочу иметь доступ к некоторым методам из модели, поэтому я хочу использовать модели Eloquent, а не raw array.

Отредактировано: Код:

$records = EventLog::byObject($model, $id)->paginate(10); 

static public function byObject($model, $id) 
     { 

      $records = DB::select([query], [params]); 
      return self::getHistory($records, $model); 
     } 

static public function getHistory($records, $model = '') 
     { 
      $ids = array(); 
      foreach ($records as $record) { 
       array_push($ids, (int)$record->id); 
      } 

      $history = array();     

      if (count($ids)) { 

       $history = EventLog::whereRaw('id IN (' . implode(',', array_fill(0, count($ids), '?')) . ')', $ids) 
       ->with('creator') 
         ->with(array('eventfields' => function($query) 
         { 
          $query->whereRaw('field NOT LIKE \'%_id\''); 
         })) 
         ->orderBy('event_logs.created_at') 
         ->orderByRaw('(CASE WHEN eventable_type=? THEN 0 ELSE 1 END)', array($model)) 
         ->orderByRaw('(CASE WHEN parent_type=? THEN 0 ELSE 1 END)', array($model)); 

      } 
      return $history; 
     } 

Возвращенный $ история имеет правильный тип, отображается правильно, но нумерация страниц не работает по какой-то причине.

Я пытаюсь отобразить ссылки с помощью

{{ $records->links(); }} 

Благодаря

+0

Нам нужны коды, чтобы помочь вам. Отправьте код, в котором вы устанавливаете разбивку на страницы. – chris342423

+0

@ chris342423 Я только что добавил свой код. – GrumpyHat

ответ

1

Я такой же проблема здесь, Laravel 4.1 и область действия запроса с полнотекстовым поиском. В моем случае проблема заключалась в том, что orderByRaw (обычный порядок не разбивает ссылки на страницы).

Так что мое «бедное» решение сохранить orderByRaw, когда я нужен пагинация и использование:

->orderBy(DB::raw('my raw orderby')); 

, который работает

+0

Я на самом деле понял это сам и забыл добавить сюда, спасибо большое! – GrumpyHat

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