2014-03-19 20 views
0

我创建一个分页程序用下面的代码:Laravel分页程序::做出不正确构建

$postsPerPage = 10; 

    $posts = Post::where('published', '=', true)->get()->toArray(); 

    $totalItems = count($posts); 

    $posts = Helpers::transform_posts($posts); 

    $posts = Paginator::make($posts, $totalItems , $postsPerPage); 

    return $posts; 

但它错误地将其构建。在“data”数组中返回12个项目(帖子总数)。

{ 
    "total": 12, 
    "per_page": 10, 
    "current_page": 1, 
    "last_page": 2, 
    "from": 1, 
    "to": 10, 
    "data": [ 
     // lists 12 items 
    ] 
} 

任何人都可以发现我做错了什么吗?

为了完整起见,这里的transform_posts()函数:

public static function transform_posts(array $posts) 
{ 
    foreach ($posts as &$array) { 
     $array = Helpers::transform_post($array); 
    } 
    return $posts; 
} 

public static function transform_post(array $post) 
{ 
    $publishedDate = \Carbon\Carbon::createFromTimeStamp(strtotime($post['published_date']))->diffForHumans(); 

    return [ 
     'id' => $post['id'], 
     'title' => $post['title'], 
     'slug' => $post['slug'], 
     'subtitle' => $post['subtitle'], 
     'body' => $post['body'], 
     'published' => (bool)$post['published'], 
     'published_date' => $post['published_date'], 
     'published_date_for_humans' => $publishedDate 
    ]; 
} 

回答

0

既然你手动分页,你必须自己切片您$posts阵列。

+0

啊谢谢,我不知道。 – babbaggeii