根据外键表中的键命令表

时间:2013-10-29 10:20:06

标签: mysql laravel eloquent

我有表users和表points

points有外键user_id,所以我在我的User Eloquent模型中执行了此操作:

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

所以现在我可以通过以下方式获得一个用户的点数:

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

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

1 个答案:

答案 0 :(得分: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模型中定义反比关系。