在paginate后手动分页

时间:2017-08-21 09:02:14

标签: php mysql laravel

我希望通过匹配和分页来对图片进行排序。

喜欢有一张表格:pic_id ,user_id

pic_id是图片的ID and user_id是喜欢图片的用户的ID。

在$ sort中,我们有pic_idcount,这是喜欢的数量。

现在,问题是0赞的图片,没有添加$ pic

任何解决方案?

public function sort()
{
    $id = Auth::user()->id;
    $sort=DB::table('likes')
         ->select('pic_id',DB::raw('count(pic_id) as count'))
         ->groupBy('pic_id')
         ->orderBy('count','desc')
         ->paginate(3);

    $pic_id=collect($sort->items())->pluck('pic_id')->toArray();
    $pic=Picture::whereIn('id',$pic_id)
                 ->with('user')
                ->get();

    $data=new LengthAwarePaginator($pic,$sort->total(),$sort->perPage(),$sort->currentPage());
    return response()->json([
        'success' => true,
        'data' => $data,
    ]);
}

0 个答案:

没有答案