2017-01-21 3 views
2

Я работаю на API, и я застрял на пагинации первым я должен отправить только первые 10 записей позже на основе предельного значения, переданного пользователем я должен послать next 10 записейLaravel 5,3 API Pagination

так для я сделал это

//search Drivers 
public function getSearchList($limit) 
{ 
    //dd($limit); 
    $drivers = Driver::paginate($limit) 
       ->select('id','first_name','last_name','phone_number','registration_id') 
       ->orderBy('first_name', 'asc') 
       ->get(); 

    return Response::json([ 
     'data' => $drivers->all() 
    ]); 
} 

, но я получаю сообщение об ошибке на запрос http://localhost:8000/api/v1/search-list/10

BadMethodCallException in Macroable.php line 74: 
Method select does not exist. 

я вещь, я не т делать это правильно

смотрит вперед для столь необходимой помощи

спасибо

ответ

1

Вы должны использовать paginate() метод вместо get():

$drivers = Driver::select('id', 'first_name', 'last_name', 'phone_number', 'registration_id') 
      ->orderBy('first_name', 'asc') 
      ->paginate($limit); 
+0

спасибо, что вы, ребята, удивительны, как всегда, не могли бы вы рассказать мне, как показывать сообщение «не найдено», если они вводят что-то вроде 555, если данные только 120, спасибо –

+1

@MrRobot просто добавьте что-то вроде 'if (count ($ drivers) == 0) {// Нет данных}' –

+0

, и я хочу отправить следующие 10 не последних отправленных 10 значений –

1
$drivers = Driver:: 
      select('id','first_name','last_name','phone_number','registration_id') 
      ->orderBy('first_name', 'asc') 
      ->paginate($limit); 

Удалить ; после paginate($limit)

https://laravel.com/docs/5.3/pagination

+0

большое вам спасибо за ваше время действительно ценю это –

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