2014-11-07 4 views
0

페이지 넘김 결과를 AJAX 호출로 반환하려고합니다. 내 검색에서 찾았습니다 Laravel 4.1 API Pagination - Create a custom JSON responsejson에 대한 Laravel 페이지 매김

나는 그것을 시험해 보았지만 그것을 고칠 수는 없습니다. 대답은 다음과 같은 코드를 제공합니다

$products = Product::paginate(100); 
$response = [ 
'products' => $products->getItems()->toArray(), 
'pagination' => [ 
    'total'  => $products->getTotal(), 
    'per_page'  => $products->getPerPage(), 
    'current_page' => $products->getCurrentPage(), 
    'last_page' => $products->getLastPage(), 
    'from'   => $products->getFrom(), 
    'to'   => $products->getTo() 
] 
]; 

내가

$myList = $myTable->paginate(10); 
$response = array(
    'products' => $myList->getItems()->toArray(), 
    'pagination' => array(
     'total'  => $myList->getTotal(), 
     'per_page'  => $myList->getPerPage(), 
     'current_page' => $myList->getCurrentPage(), 
     'last_page' => $myList->getLastPage(), 
     'from'   => $myList->getFrom(), 
     'to'   => $myList->getTo() 
    ) 
); 

에 변화를하지만 난 $ myList-> getItems()에 오류가 발생 -> toArray()

Call to a member function toArray() on a non-object 

내가 변경했습니다.

$myList->toArray() 

테스트 목적으로 변경했습니다. 나도

$myList->data->toArray() 

하지만 나던 일을 tryed 그래서 여기

{"products": 
{"total":2,"per_page":10,"current_page":1,"last_page":1,"from":1,"to":2, 
    "data":[{"id":41,"naam":"aqua 1","series_id":99,"stijlen_id":2,"kleuren_id":13,"datum":"2013-06-21 14:58:21","prijzen_id":1,"weergaven":21,"designers_id":0,"omschrijving":"geen omschrijving beschikbaar","video":"","img":"BetteAqua.jpg"},{"id":26,"naam":"one","series_id":100,"stijlen_id":2,"kleuren_id":13,"datum":"2013-06-21 13:40:09","prijzen_id":1,"weergaven":12,"designers_id":0,"omschrijving":"geen omschrijving beschikbaar","video":"","img":"BetteOne_2.png"}]},"pagination":{"total":2,"per_page":10,"current_page":1,"last_page":1,"from":1,"to":2}} 

를 반환하는 변수 i 데이터라는 것을 발견했다. 제품 배열에서 'items'를 어떻게 반환 할 수 있습니까?

편집 :

결과가 반환됩니다 getItems() 이미 반환하기 때문에

return Response::json($response); 

답변

2

오류가 발생하는 array (the source code 참조).

단지 data를 얻으려면, 시도 :

'products' => $myList->toArray()['data'] 
+0

그것을 Tryed, 그것은 { "제품"을 반환 : [{ "타임 스탬프"거짓 "증가"사실, "존재"사실을}, { true, "exists": true}], "페이지 매김": { "total": 2, "per_page": 10, "current_page": 1, "last_page": 1, "timestamps": false, "incrementing" ": 1"에서 ": 2}}로 제품 배열에 데이터가 얼마나 적은지 알 수 있습니다. –

+1

데이터를 가져 오지 않습니다. 'products'=> $ myList-> toArray() [ 'data']'를 사용해보십시오. – damiani