【发布时间】:2015-05-02 14:23:09
【问题描述】:
你好。
我目前致力于创建一个站点,该站点将论坛帖子绘制到一个单独的页面上,我将它们用作博客条目。为了让它按我的意愿工作,我首先 ->get() 最新的帖子,用于顶部、主要、博客条目,然后我用这样的砖石风格来寻找它下面的其他人:www.hockeyforat.se/laravel
这意味着我确实有这个设置:
$post = Post::whereNewTopic(true)
->whereHas('Topic', function($q){$q->whereForumId(13);})
->orderBy('pid', 'DESC')
->first();
$vars['p'] = $post;
这显然是为了拖出最新的帖子并将其放在顶部,这样效果很好,但是接下来我必须跳过第一个帖子的另一部分(因为它已经在上面的代码页面上)。我用它来做到这一点:
$posts = Post::whereNewTopic(true)
->whereHas('Topic', function($q){$q->whereForumId(13);})
->orderBy('pid', 'DESC')
->skip(1)
->take(100000)
->get();
$vars['posts'] = $posts;
这也非常有效。但是当我想对其进行分页时,我遇到了一些问题。由于某种原因,我的 ->paginate(6) 忽略了 ->skip(1)。任何人都知道如何解决这个问题?示例再次出现:www.hockeyforat.se/laravel,我还将在下面添加一张图片。如您所见,如果不跳过第一个,我将连续收到相同的帖子,因为第一个是用上面的 $post 绘制的。
$posts = Post::whereNewTopic(true)
->whereHas('Topic', function($q){$q->whereForumId(13);})
->orderBy('pid', 'DESC')
**->skip(1)**
->take(100000)
**->paginate(6);**
$vars['posts'] = $posts;
【问题讨论】:
标签: php laravel pagination skip