0

我有桌子users和桌子points

points有外键user_id,所以我在我的UserEloquent 模型中这样做了:

public function points()
{
    return $this->hasMany('Point', 'user_id');
}

所以现在我可以通过以下方式为一位用户获得积分:

$user->points()->count();

但我想做的是根据他们赢得的积分对所有用户进行排序,然后将用户分页每页 20 个。

4

1 回答 1

0

您将从反比关系开始:

$points = Point::with('User')
                 ->orderBy('votes', 'desc')
                 ->skip($offset)
                 ->take($page_size);    // or use ->paginate();

然后在你看来:

@foreach($points as $point)
  {{ $point->votes }} | {{ $point->user->name }}
@endforeach

注意:确保在Point模型中定义了反比关系。

于 2013-10-29T10:40:05.510 回答